import javax.swing.*;
import java.awt.Color;
import java.awt.SystemColor;
import java.awt.Dimension;
import java.awt.Rectangle;
public class DesignerTest extends JFrame {
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JTextField jTextField1 = new JTextField();
JLabel jLabel3 = new JLabel();
JTextField jTextField2 = new JTextField();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JLabel jLabel4 = new JLabel();
public DesignerTest() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DesignerTest designerTest1 = new DesignerTest();
}
private void jbInit() throws Exception {
jLabel1.setFont(new java.awt.Font("Dialog", 1, 28));
jLabel1.setForeground(Color.red);
jLabel1.setText("欢迎登录本网站");
jLabel1.setBounds(new Rectangle(153, 68, 216, 45));
this.setBackground(SystemColor.control);
this.setFont(new java.awt.Font("Dialog", 1, 18));
jLabel2.setFont(new java.awt.Font("Dialog", 0, 18));
jLabel2.setForeground(Color.magenta);
jLabel2.setOpaque(false);
jLabel2.setRequestFocusEnabled(true);
jLabel2.setText("用户");
jLabel2.setBounds(new Rectangle(100, 188, 61, 26));
jTextField1.setText("jTextField1");
jTextField1.setBounds(new Rectangle(164, 186, 210, 32));
jLabel3.setFont(new java.awt.Font("Dialog", 0, 18));
jLabel3.setForeground(Color.magenta);
jLabel3.setText("密码");
jLabel3.setBounds(new Rectangle(105, 254, 52, 25));
jTextField2.setText("jTextField2");
jTextField2.setBounds(new Rectangle(166, 255, 211, 32));
jButton1.setBounds(new Rectangle(154, 318, 87, 36));
jButton1.setFont(new java.awt.Font("Dialog", 0, 16));
jButton1.setMinimumSize(new Dimension(73, 25));
jButton1.setActionCommand("");
jButton1.setText("提交");
jButton2.setBounds(new Rectangle(270, 318, 87, 36));
jButton2.setFont(new java.awt.Font("Dialog", 0, 16));
jButton2.setText("取消");
jLabel4.setText("XXXX\u00A92000-2010版权所有");
jLabel4.setBounds(new Rectangle(176, 384, 337, 42));
this.getContentPane().add(jTextField2, null);
this.getContentPane().add(jTextField1, null);
this.getContentPane().add(jLabel2, null);
this.getContentPane().add(jLabel3, null);
this.getContentPane().add(jLabel1, null);
this.getContentPane().add(jButton1, null);
this.getContentPane().add(jButton2, null);
this.getContentPane().add(jLabel4, null);
setSize(600,400);
this.show();
}}
//帮你改了一下,改的比较多.
import java.awt.Color;
import java.awt.SystemColor;
import java.awt.Dimension;
import java.awt.Rectangle;
public class DesignerTest extends JFrame {
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JTextField jTextField1 = new JTextField();
JLabel jLabel3 = new JLabel();
JTextField jTextField2 = new JTextField();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JLabel jLabel4 = new JLabel();
public DesignerTest() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DesignerTest designerTest1 = new DesignerTest();
}
private void jbInit() throws Exception {
jLabel1.setFont(new java.awt.Font("Dialog", 1, 28));
jLabel1.setForeground(Color.red);
jLabel1.setText("欢迎登录本网站");
jLabel1.setBounds(new Rectangle(153, 68, 216, 45));
this.setBackground(SystemColor.control);
this.setFont(new java.awt.Font("Dialog", 1, 18));
jLabel2.setFont(new java.awt.Font("Dialog", 0, 18));
jLabel2.setForeground(Color.magenta);
jLabel2.setOpaque(false);
jLabel2.setRequestFocusEnabled(true);
jLabel2.setText("用户");
jLabel2.setBounds(new Rectangle(100, 188, 61, 26));
jTextField1.setText("jTextField1");
jTextField1.setBounds(new Rectangle(164, 186, 210, 32));
jLabel3.setFont(new java.awt.Font("Dialog", 0, 18));
jLabel3.setForeground(Color.magenta);
jLabel3.setText("密码");
jLabel3.setBounds(new Rectangle(105, 254, 52, 25));
jTextField2.setText("jTextField2");
jTextField2.setBounds(new Rectangle(166, 255, 211, 32));
jButton1.setBounds(new Rectangle(154, 318, 87, 36));
jButton1.setFont(new java.awt.Font("Dialog", 0, 16));
jButton1.setMinimumSize(new Dimension(73, 25));
jButton1.setActionCommand("");
jButton1.setText("提交");
jButton2.setBounds(new Rectangle(270, 318, 87, 36));
jButton2.setFont(new java.awt.Font("Dialog", 0, 16));
jButton2.setText("取消");
jLabel4.setText("XXXX\u00A92000-2010版权所有");
jLabel4.setBounds(new Rectangle(176, 384, 337, 42));
this.getContentPane().add(jTextField2, null);
this.getContentPane().add(jTextField1, null);
this.getContentPane().add(jLabel2, null);
this.getContentPane().add(jLabel3, null);
this.getContentPane().add(jLabel1, null);
this.getContentPane().add(jButton1, null);
this.getContentPane().add(jButton2, null);
this.getContentPane().add(jLabel4, null);
setSize(600,400);
this.show();
}}
//帮你改了一下,改的比较多.
Swing中几乎所有组件都是从JComponent衍生而来,也就是说这些组件都是lightweight Component,均由纯java code所编写面成
、Swing中以下几个组件不是由JComponent继承面来:
JFrame(JRoot Pane)
JDialog(JRoot Pane)
JWindow(JRoot Pane)
JApplet(JRoot Pane)
以上四个组件是heavyweight Component,必须使用到native code来画出这四个窗口组件,因为要在操作系统中显示窗口画面,必
须使用操作系统的窗口资源,而以往的AWT组件大多使用native code所构造出来,因此Swing中的JFrame便继承原有AWT中的Frame
类,面不是继承JComponent类。同样,JApplet是继承原有AWT中的JApplet类,也不是继承JComponent类。
JFrame、JDialog、JWindow及JApplet这四个组件统称为最上层组件,因为其余的swing组件都必须依附在此四组件之一上才能
显示出来。此四组件均实现(Implement)RootPaneContainer这个界面(Interface),此界面定义了各种容器取得与设置并不是真实的容器,它是由Glass Pane
与Layered Pane所组成(Layered Pane里拥有Content Pane与Menu Bar,而Menu Bar可选择使用或不使用),
我们不能在JRootPane上加入任何的组件,因为它只是一个虚拟的容器,若要在最上层组件上加入组件,必须加在Layered Pane或是
Layered Pane里的Content Pane上。以JFrame为例,一般我们要在JFrame上加入其他组件(如JButton、JLabel等)必须先取得JFrame
的Content Pane,然后将要加入的组件放在此Content Pane中,而不是直接就加到JFrame上。因此若要在JFrame中加入一个按钮,不
能像以前AWT时一样写成frame.add(button)的形式,而必须先取得JFrame的Content Pane,然后将按钮加入Content Pane中,如:
frame.getContentPane().add(button)
否则在编译的时候将有错误信息产生。
JComponent这个东东好象show()不出来吧???
public static void main(String[] args) {
JFrame jf = new JFrame();
DesignerTest designerTest1 = new DesignerTest ();
jf.getContentPane().add(jFrame1);
jf.setSize(400,400);
jf.setVisible(true);
}
public static void main(String[] args) {
JFrame jf = new JFrame();
DesignerTest designerTest1 = new DesignerTest ();
jf.getContentPane().add(designerTest1);
jf.setSize(400,400);
jf.setVisible(true);
}
public static void main(String[] args) {
JFrame jf = new JFrame();
DesignerTest designerTest1 = new DesignerTest ();
jf.getContentPane().add(designerTest1);
jf.setSize(400,400);
jf.setVisible(true);
}
原来是要用一个容器来放置组件。
import java.awt.Color;
import java.awt.SystemColor;
import java.awt.Dimension;
import java.awt.Rectangle;
public class DesignerTest extends JFrame {
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JTextField jTextField1 = new JTextField();
JLabel jLabel3 = new JLabel();
JTextField jTextField2 = new JTextField();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JLabel jLabel4 = new JLabel();
public DesignerTest() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DesignerTest designerTest1 = new DesignerTest();
}
private void jbInit() throws Exception {
jLabel1.setFont(new java.awt.Font("Dialog", 1, 28));
jLabel1.setForeground(Color.red);
jLabel1.setText("欢迎登录本网站");
jLabel1.setBounds(new Rectangle(153, 68, 216, 45));
this.setBackground(SystemColor.control);
this.setFont(new java.awt.Font("Dialog", 1, 18));
jLabel2.setFont(new java.awt.Font("Dialog", 0, 18));
jLabel2.setForeground(Color.magenta);
jLabel2.setOpaque(false);
jLabel2.setRequestFocusEnabled(true);
jLabel2.setText("用户");
jLabel2.setBounds(new Rectangle(100, 188, 61, 26));
jTextField1.setText("jTextField1");
jTextField1.setBounds(new Rectangle(164, 186, 210, 32));
jLabel3.setFont(new java.awt.Font("Dialog", 0, 18));
jLabel3.setForeground(Color.magenta);
jLabel3.setText("密码");
jLabel3.setBounds(new Rectangle(105, 254, 52, 25));
jTextField2.setText("jTextField2");
jTextField2.setBounds(new Rectangle(166, 255, 211, 32));
jButton1.setBounds(new Rectangle(154, 318, 87, 36));
jButton1.setFont(new java.awt.Font("Dialog", 0, 16));
jButton1.setMinimumSize(new Dimension(73, 25));
jButton1.setActionCommand("");
jButton1.setText("提交");
jButton2.setBounds(new Rectangle(270, 318, 87, 36));
jButton2.setFont(new java.awt.Font("Dialog", 0, 16));
jButton2.setText("取消");
jLabel4.setText("XXXX\u00A92000-2010版权所有");
jLabel4.setBounds(new Rectangle(176, 384, 337, 42));
this.getContentPane().add(jTextField2); this.getContentPane().add(jTextField1);
this.getContentPane().add(jLabel2);
this.getContentPane().add(jLabel3);
this.getContentPane().add(jLabel1);
this.getContentPane().add(jButton1);
this.getContentPane().add(jButton2);
this.getContentPane().add(jLabel4);
//this.getContentPane().setVisible(true);
this.setBounds(10,10,800,600);
this.setVisible(true);
}}