窗体装载窗体

//复写窗体添加按钮,对要复写的窗体的工具栏创建getset方法,即可在承载窗体上获得工具栏对象

1.

public JToolBar getjToolBar1() {
return jToolBar1;
}

public void setjToolBar1(JToolBar jToolBar1) {
this.jToolBar1 = jToolBar1;
}

2.//在构造方法里调用添加按钮方法

public DgEditDeclarant() {
initComponents();
pnDeclarant = new PnDeclarant();
addButton();
this.add(pnDeclarant, java.awt.BorderLayout.CENTER);
}

3.//添加按钮

private void addButton() {
JToolBar tb = pnDeclarant.getjToolBar1();
JBButton btn = new JBButton();
btn.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/bsw/esp/client/images/35_确定.png"))); // NOI18N
btn.setText("确定");
btn.setAuthorityID("");
btn.setBorderPainted(false);
btn.setFocusable(false);
btn.setHorizontalTextPosition(0);
btn.setIconTextGap(0);
btn.setVerticalTextPosition(3);
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
selectData = (Declarant) pnDeclarant.getTableModel().getCheckedRow();
if (selectData == null) {
JOptionPane.showMessageDialog(rootPane, "请选择数据");
return;
} else {
isOk = true;
dispose();
}
}
});
tb.add(btn);
}

4.//调用承载窗体

DgEditDeclarant dg = new DgEditDeclarant();
dg.setVisible(true);
if (dg.getIsOk()) {
Declarant declarant = dg.getSelectData();
if (declarant != null) {
initDeclarant();
ItemProperty it = new ItemProperty(declarant.getCode(), declarant.getName());
cbbDeclarant.setSelectedItem(it);
}
} else {
initDeclarant();
}

//承载窗体代码

public class DgEditDeclarant extends JDialogBase {

private PnDeclarant pnDeclarant;
private Boolean isOk = false;
private Declarant selectData;

/**
* Creates new form NewJDialog
*/
public DgEditDeclarant() {
initComponents();
pnDeclarant = new PnDeclarant();
addButton();
this.add(pnDeclarant, java.awt.BorderLayout.CENTER);
}

@Override
public void setVisible(boolean b) {
if (b) {
super.setVisible(b); //To change body of generated methods, choose Tools | Templates.
}
}

private void addButton() {
JToolBar tb = pnDeclarant.getjToolBar1();
JBButton btn = new JBButton();
btn.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/bsw/esp/client/images/35_确定.png"))); // NOI18N
btn.setText("确定");
btn.setAuthorityID("");
btn.setBorderPainted(false);
btn.setFocusable(false);
btn.setHorizontalTextPosition(0);
btn.setIconTextGap(0);
btn.setVerticalTextPosition(3);
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
selectData = (Declarant) pnDeclarant.getTableModel().getCheckedRow();
if (selectData == null) {
JOptionPane.showMessageDialog(rootPane, "请选择数据");
return;
} else {
isOk = true;
dispose();
}
}
});
tb.add(btn);
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

setBounds(0, 0, 500, 373);
}// </editor-fold>

public Boolean getIsOk() {
return isOk;
}

public void setIsOk(Boolean isOk) {
this.isOk = isOk;
}

public Declarant getSelectData() {
return selectData;
}

public void setSelectData(Declarant selectData) {
this.selectData = selectData;
}

// Variables declaration - do not modify
// End of variables declaration
}

时间: 2024-10-06 15:45:10

窗体装载窗体的相关文章

C# WinForm 父窗体 子窗体 传值

C# WinForm 父窗体 子窗体 传值 本次示例效果如下:Form1为父窗体(包含textBox1.button1)Form2为子窗体(包含textBox2.button2) 父窗体给子窗体传值==================1.点击Form1的button1 打开Form2  父窗体给子窗体传值 可以调用重载子窗体的构造函数 直接传入相关数值 public partial class Form1 : Form    {        public Form1()        {   

透明窗体透明窗体 控件正常显示

//TransparentFrm透明窗体透明窗体 控件正常显示 {以图片的形状作为窗体形态}{使窗体透明 透明的只剩下个控件} // 调用 setFormTransParent(Form1); procedure setFormTransParent(Form:TForm); begin Form.BorderStyle:=bsNone; Form.TransparentColor:=True; Form.TransparentColorValue:=20; Form.Color:=Form.T

winform窗体跟随窗体

Form2 frm2 = new Form2(); private void MoveProc() { frm2.StartPosition = FormStartPosition.CenterParent; frm2.Left = this.Left + panel1.Left; frm2.Top = this.Top + panel1.Top; } public Form1() { InitializeComponent(); MoveProc(); this.AddOwnedForm(fr

GUI 设置窗体/关闭窗体

GUI:图形用户界面,在awt和swing包下 awt和swing的区别 JAVA.awt:需要调用本地系统方法实现功能,属于重量级控件        轻重是指与系统的关联度 JAVAX.swing:在JAVA的基础上,提供了更多的组件,完全由JAVA实现,移植性强,属于轻量级控件 Frame:窗体对象 方法: 1.Frame:无参构造 2.Frame.setsize():设置窗体大小 3.Frame.setLocation():设置窗体位置 4.Frame.setBounds(X,Y,Widt

使用委托实现c#,窗体与窗体之间的传值

主界面: Form1中的代码: namespace _06委托练习_窗体传值{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        } private void btn1_Click(object sender, EventArgs e)        {            Form2 f2=new Form2(txt

窗体移动 窗体阴影API

窗体移动API //窗体移动API [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam); public const int WM_SYSCOMMAND = 0x

WinForm 窗体属性 窗体美化

WinForm是·Net开发平台中对Windows Form的一种称谓. Windows窗体的一些重要特点如下: 功能强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序. 操作方便:新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server.Microsoft Access.Jet.DB2以及Oracle等. 使用安全:Windows窗体充分利用公共语言运行库的安全特性.这就意味着,

多窗体、窗体传值、打开唯一窗体操作

一.打开多子窗口 在控件中实例化要打开的窗体,再调方法show 例:在按钮中打开f2窗体 form2 f2=new form2() f2.show() 二.构造函数传值 1.在实例化中添加参数,展示信息类型,打开窗体类型 2.要打开窗体中构造函数接受 三.打开窗口唯一 1.实例化要打开窗口,并放到类型集合中 2.判断窗口是否在集合中,不在打开 3.构造函数传父级窗口 4.子级窗口关闭时调删除集合中子级窗口方法 例:

【解惑】C#父窗体子窗体

这个问题我当时学的时候也困惑了好久,今天看见有人问就好好解释下吧~ [问]父窗体调用子窗体,怎么显示子窗体关闭父窗体? [答]在不牵扯到线程的情况下,主窗体是不能关闭的,一关闭程序就退出了,应该隐藏,提供两种方法: 最简单的方法: [父窗体中加]Form2 f2 = new Form2();f2.Show();this.Hide();[扩]因为主窗体只是隐藏,不是真正意义上的关闭  Application.Exit(); //应用退出————————————————————常用方法:(这个方法,