/**
* Description: <br>
*
* @author zhangqi
* @time Jan 20, 2011 10:05:30 PM
* @version
*/
public class ChangePanelExample extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JPanel jPanel = null;
private JButton jButton = null;
private JButton jButton1 = null;
private JButton jButton2 = null;
private JPanel jPanel1 = null;
private JLabel jLabel = null;
private JPanel jPanel2 = null;
private JLabel jLabel1 = null;
private JPanel jPanel3 = null;
private JLabel jLabel2 = null;
/**
*
* This method initializes jPanel
*
*
*
* @return javax.swing.JPanel
*
*/
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.setPreferredSize(new Dimension(0, 60));
jPanel.setBorder(BorderFactory.createLineBorder(Color.black, 1));
jPanel.add(getJButton(), null);
jPanel.add(getJButton1(), null);
jPanel.add(getJButton2(), null);
}
return jPanel;
}
/**
*
* This method initializes jButton
*
*
*
* @return javax.swing.JButton
*
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(54, 11, 83, 27));
jButton.setForeground(Color.red);
jButton.setText("Panel一");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jContentPane.remove(((BorderLayout) jContentPane
.getLayout())
.getLayoutComponent(BorderLayout.CENTER));// 删除内容面板中间原来的组建
jContentPane.add(getJPanel1(), BorderLayout.CENTER);// 添加要切换的面板
jContentPane.validate();// 重构内容面板
jContentPane.repaint();// 重绘内容面板
// 上面两句缺一不可,
// 没有validate()删除和添加没有效果
// 没有repaint()界面绘出现混乱
}
});
}
return jButton;
}
/**
*
* This method initializes jButton1
*
*
*
* @return javax.swing.JButton
*
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(new Rectangle(191, 11, 83, 27));
jButton1.setForeground(Color.blue);
jButton1.setText("Panel二");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jContentPane.remove(((BorderLayout) jContentPane
.getLayout())
.getLayoutComponent(BorderLayout.CENTER));
jContentPane.add(getJPanel2(), BorderLayout.CENTER);
jContentPane.validate();
jContentPane.repaint();
}
});
}
return jButton1;
}
/**
*
* This method initializes jButton2
*
*
*
* @return javax.swing.JButton
*
*/
private JButton getJButton2() {
if (jButton2 == null) {
jButton2 = new JButton();
jButton2.setBounds(new Rectangle(328, 11, 83, 27));
jButton2.setForeground(Color.green);
jButton2.setText("Panel三");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jContentPane.remove(((BorderLayout) jContentPane
.getLayout())
.getLayoutComponent(BorderLayout.CENTER));
jContentPane.add(getJPanel3(), BorderLayout.CENTER);
jContentPane.validate();
jContentPane.repaint();
}
});
}
return jButton2;
}
/**
*
* This method initializes jPanel1
*
*
*
* @return javax.swing.JPanel
*
*/
private JPanel getJPanel1() {
if (jPanel1 == null) {
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(151, 99, 163, 113));
jLabel.setFont(new Font("Dialog", Font.BOLD, 24));
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
jLabel.setForeground(new Color(255, 51, 51));
jLabel.setText("Panel一");
jPanel1 = new JPanel();
jPanel1.setLayout(null);
jPanel1.add(jLabel, null);
}
return jPanel1;
}
/**
*
* This method initializes jPanel2
*
*
*
* @return javax.swing.JPanel
*
*/
private JPanel getJPanel2() {
if (jPanel2 == null) {
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(162, 100, 138, 96));
jLabel1.setFont(new Font("Dialog", Font.BOLD, 24));
jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
jLabel1.setForeground(Color.blue);
jLabel1.setText("Panel二");
jPanel2 = new JPanel();
jPanel2.setLayout(null);
jPanel2.add(jLabel1, null);
}
return jPanel2;
}
/**
*
* This method initializes jPanel3
*
*
*
* @return javax.swing.JPanel
*
*/
private JPanel getJPanel3() {
if (jPanel3 == null) {
jLabel2 = new JLabel();
jLabel2.setBounds(new Rectangle(149, 87, 172, 134));
jLabel2.setFont(new Font("Dialog", Font.BOLD, 24));
jLabel2.setHorizontalAlignment(SwingConstants.CENTER);
jLabel2.setForeground(Color.green);
jLabel2.setText("Panel三");
jPanel3 = new JPanel();
jPanel3.setLayout(null);
jPanel3.add(jLabel2, null);
}
return jPanel3;
}
/**
*
* @param args
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
ChangePanelExample thisClass = new ChangePanelExample();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
*
* This is the default constructor
*
*/
public ChangePanelExample() {
super();
initialize();
}
/**
*
* This method initializes this
*
*
*
* @return void
*
*/
private void initialize() {
this.setSize(472, 410);
this.setResizable(false);
this.setContentPane(getJContentPane());
this.setTitle("JPanel切换示例");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJPanel(), BorderLayout.NORTH);
jContentPane.add(getJPanel1(), BorderLayout.CENTER);
}
return jContentPane;
}
} // @jve:decl-index=0:visual-constraint="92,55"
分享到:
相关推荐
this.getContentPane().add(new JLabel("Just a test.")); this.setUndecorated(true); // 去掉窗口的装饰 this.getRootPane().setWindowDecorationStyle(JRootPane.NONE); // 采用指定的窗口装饰风格 this.set...
本项目"Exp1_jframe_counter_binary_"显然是一个利用`JFrame`来实现的交互式数字转换工具,能够将十进制数转换为二进制、八进制和十六进制。 在Java中,`JFrame` 是一个顶级容器,可以包含其他组件如按钮、文本框等...
textArea.setText("test"); panel.add(new JScrollPane(textArea)); //当TextArea里的内容过长时生成滚动条 frame.add(panel); frame.setSize(200, 200); frame.setVisible(true); ``` 最后,在使用JFrame时,通常...
/tryonce:一个简单的JFrame测试窗口 /try_2:一个简单的JFrame测试窗口的继承使用方法 /try3:一个简单的JFrame测试窗口的继承使用方法 /JPanelTest /Test1:第一个Jpanel测试窗口 /Test2:第二个JPanel...
"test_login.rar" 文件包含了一个简单的Java项目,它可能是实现登录功能的基础框架。让我们一起研究这个主题,理解其背后的原理和技术。 首先,我们需要了解Java Swing或JavaFX这两个库,它们是用于构建图形用户...
在这个“SocketTest.zip”项目中,我们看到一个基于Java Socket实现的多线程网络聊天室。这个聊天室包含服务端和客户端两个部分,它们通过Socket进行数据传输,实现了用户间的群聊功能。 首先,让我们深入理解Java ...
这个模式涉及到了`Test1_JFrame`和`Test1_test`两个类。`Test1_JFrame`是一个扩展了JFrame的类,用于创建基本的窗口框架。它设置了窗口标题、布局、大小调整、可见性以及关闭操作。而`Test1_test`类是主程序入口,...
例如,`Test(三层)`可能包含用于创建图形用户界面的类,如JFrame、JButton、JLabel等组件,它们负责处理用户的点击事件,将用户操作转化为可处理的命令。 2. 业务逻辑层(Business Logic Layer) 业务逻辑层是应用...
在本项目中,开发者使用了JFrame作为主窗口,放置了各种Swing组件来实现用户界面。用户可以通过输入框(JTextField)输入数据,按钮(JButton)触发相应的数据库操作。Swing的可定制性使得开发者可以自由地调整组件...
4. **标签类的编译和运行**:从文件列表`test$thread.class`、`test.class`、`test.java`来看,`test.java`可能是包含上述代码的源文件,而`test.class`和`test$thread.class`是编译后的字节码文件。`test$thread....
2. **JFrame实例化**:创建一个`JFrame`对象表示窗口,并设置其属性,如大小、位置和标题。 ```java JFrame frame = new JFrame("我的Java窗口程序"); frame.setSize(400, 300); frame.setDefaultCloseOperation...
public class Test extends JFrame { Test() { getContentPane().add(new JButton("OK")); } public static void main(String args[]) { JFrame f = new JFrame(); f.setSize(200, 150); f.setVisible(true);...
public class Test4 extends JFrame implements ActionListener { String[] items = { "篮球", "足球", "乒乓球" }; JComboBox<String> box = new JComboBox(items); Test4() { box.addItem("排球"); this.setLayout...
压缩包内包含了Java抓包用到到两个重要的软件,winpcap和jpcap,可以直接安装使用,本人亲测,windows 7环境下完美运行,JDK用的是1.7,需要配置下jpcap.dll到JDK...和带UI的com.ui.test.JFrameMain,均可以直接运行。
如果我们想要在 JFrame 窗体上添加自定义按钮,可以创建一个自定义的 JButton,然后将其添加到 JFrame 中。但是,如果我们想要在标题栏上添加按钮,情况就变得复杂了。在 Java Swing 中,标题栏是由操作系统提供的,...
public void CreatFrame(){ JFrame jf = new JFrame(); Container con = jf.getContentPane(); JLabel jb = new JLabel("this is a pane"); JButton jt = new JButton("alert a new window"); ... con.add(jt); con...
5. 类实例化错误:在第7行创建了`JFrame`的实例,但应使用`new Test()`,这里的`Test`应该是一个继承自`JFrame`的类。 6. 组件与JComponent的实例化:`Component`和`JComponent`是具体类,不能直接实例化。最后一行...
描述提到是使用`JFrame`进行的一些练习,`JFrame`是Java Swing库中的一个组件,用于创建窗口应用程序的基础框架。 在Java GUI(图形用户界面)编程中,Swing库提供了丰富的组件,如按钮、文本框、菜单等,用于构建...
public class Test3 extends JFrame implements ActionListener { // ... } ``` - **解释**:定义了一个名为`Test3`的公共类,该类继承自`JFrame`并实现了`ActionListener`接口。这表示`Test3`可以接收并处理动作...
super("Test"); // 设置背景颜色 setBackground(Color.BLACK); // 设置布局管理器 setLayout(new GridLayout(6,6,2,2)); // 添加36个随机颜色的JPanel for (int i=0; i; i++){ JPanel jPanel = new JPanel...