申明这是借鉴来的
自动水平和垂直方向都会出现滚动条
JTextArea ta=new JTextArea("http://hi.baidu.com/jenny��/");
JScrollPane sp=new JScrollPane(ta,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS ,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS );
窗口界面出现在屏幕中间位置
static final int WIDTH=300;
static final int HEIGHT=150;
JFrame loginframe=new JFrame("计算机爱好者");
loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//setDefaultCloseOperation这是一个使得窗口上面的关闭控件有效的类库方法
Toolkit kit=Toolkit.getDefaultToolkit();
Dimension screenSize=kit.getScreenSize();
int x=(screenSize.width-WIDTH)/2;
int y=(screenSize.height-HEIGHT)/2;
loginframe.setLocation(x,y);
按照GridBagConstraints网格组布局方式排列组件的方法
//x指控件位于第几列。
//y指控件位于第几行。
//w指控件需要占几列。
//h指控件需要占几行。
public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)
{
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=w;
constraints.gridheight=h;
add(c,constraints);
}
分割内容面板JSplitPane
JButton b1= new JButton ("确定");//创建两个普通按钮组件
JButton b2 = new JButton ("取消");
JSplitPane splitPane = new JSplitPane ();//创建一个分隔容器类
splitPane.setOneTouchExpandable (true); //让分割线显示出箭头
splitPane.setContinuousLayout (true); //当用户操作分割线箭头时,系统会重绘图形
splitPane.setPreferredSize (new Dimension (100,200));
splitPane.setOrientation (JSplitPane.HORIZONTAL_SPLIT); //设置分割线为水平分割线
splitPane.setLeftComponent (b1); //将b1放到分割线左边,将b2放到分割线右边
splitPane.setRightComponent (b2);
splitPane.setDividerSize (3); //设置分割线大小为3个单位
splitPane.setDividerLocation(50); //设置分割线的位置位于中间
选项卡容器JTabbedPane
JFrame frame = new JFrame ("计算机爱好者");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.setVisible (true);//默认为false
JTabbedPane tp=new JTabbedPane();//创建一个选项卡容器,将之添加到顶层容器内
frame.setContentPane(tp);
JPanel panel1 = new JPanel ();
tp.addTab("panel1", panel1); //添加选项卡容器,并且设置其中每个选项卡的标签以及其是否可启用
tp.setEnabledAt(0,true);
tp.setTitleAt(0,"Tab1");
JInternalFrame窗口、虚拟桌面容器JDesktopPane
JFrame jf=new JFrame("计算机爱好者");
jf.setSize(WIDTH,HEIGHT);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
JPanel contentPane=new JPanel();//创建一个中间容器,并且将之添加到顶层容器内,将之设置为流布局。
jf.setContentPane(contentPane);
contentPane.setLayout(new FlowLayout());
JDesktopPane dp=new JDesktopPane();//创建一个虚拟桌面容器,将dp添加到以上创建的中间容器中
dp.setLayout(new FlowLayout());
contentPane.add(dp);
JInternalFrame jif=new JInternalFrame("第一个窗口",true,true,true); //创建两个JIntenaFrame容器,并且创建三个标签组件,分别将它们添加到两个JInternaFrame容器内
JInternalFrame jif1=new JInternalFrame("第二个窗口",true,true,true);
JLabel l1=new JLabel("这是我第一个窗口");
JLabel l4=new JLabel("这是我第二个窗口");
JLabel l5=new JLabel("这是你第二个窗口");
jif.setLayout(new FlowLayout());
jif1.setLayout(new FlowLayout());
jif.add(l1);
jif1.add(l4);
jif1.add(l5);
dp.add(jif);
dp.add(jif1);
jif.setVisible(true);
jif1.setVisible(true);
JLayeredPane容器
是将两个普通按钮组件,放置到JLayeredPane容器中,
再为这两个按钮组件分成两个不同的层次,这样的话,
就当单击下面一个层的按钮组件,它就会被显示到上面一个层上来
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class test extends JFrame implements ActionListener
{
private static final long serialVersionUID = 1L;
static final int WIDTH=300;
static final int HEIGHT=150;
JLayeredPane lp=new JLayeredPane();
JButton b1=new JButton("确定");
JButton b2=new JButton("取消");
public test()
{
///设置顶层容器的标题
super("测试窗口");
///将新建的JLayeredPane放到顶层容器内
super.setContentPane(lp);
b1.addActionListener(this); // 按钮事件
b2.addActionListener(this);
lp.add(b1, new Integer(200)); // 将组件添加到JLayeredPane中,指定所在的层
lp.add(b2, new Integer(300));
b1.setBounds(new Rectangle(100, 100, 100, 100)); // Button出现位置
b1.setVisible(true); // 显示
b2.setBounds(new Rectangle(50, 50, 100, 100));
b2.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(360, 260);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("确定"))
{ // 判断是哪个按钮的动作
lp.setLayer(b1, 300); // 重新设置组件层数
lp.setLayer(b2, 200);
}
else if (e.getActionCommand().equals("取消"))
{
lp.setLayer(b1, 200);
lp.setLayer(b2, 300);
}
}
public static void main(String args[]) {
new test();
}
}
用panel做GroupBox
JPanel buttonPanel = new JPanel(new FlowLayout());
buttonPanel.setBorder(BorderFactory.createTitledBorder( "Edit ")); //设置边框
buttonPanel.add(new JButton( "button1 "));
分享到:
相关推荐
javaswing组件大全.pdf
Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端...
Java Swing 组件全演示源代码-Java Swing components entire demo source code
Java Swing 组件全演示
Java Swing组件:Jlist学习笔记Java Swing组件:Jlist学习笔记
Java网路编程技术Java Swing组件代码Java网路编程技术Java Swing组件代码Java网路编程技术Java Swing组件代码Java网路编程技术Java Swing组件代码
这是一个有关JavaSwing各种组件应用的大例子!
Java Swing 组件全演示源代码
分层介绍java Swing组件,详细说明rootPane,LayeredPane,rootPane,contentPane之间的关系
Java Swing 组件全演示源代码.zip
主要介绍了Java Swing组件文件选择器JFileChooser简单用法,结合实例形式分析了Swing组件中的文件选择器JFileChooser的简单使用方法,需要的朋友可以参考下
JAVA Swing常用组件 案例+代码 非常实用 值得研究和收藏
java Swing用户界面组件 资源资源资源资源资源资源资源资源
主要介绍了Java Swing组件布局管理器之FlowLayout(流式布局),结合实例形式分析了Swing组件布局管理器FlowLayout流式布局的常用方法及相关使用技巧,需要的朋友可以参考下
主要介绍了Java Swing组件单选框JRadioButton用法,结合具体实例形式分析了Swing单选框JRadioButton的使用方法及相关操作注意事项,需要的朋友可以参考下
这里收集了java的大多数组件的应用,同时让你掌握java Swing组件的应用 ,使得你学习java的gui也不再那么纠结,
java组件swing打印测试,供各位大侠下载应用。
Java Swing组建综合练习 ,table tree button menu 工具条等
javaSwing常用的组件,包括树的应用以及下拉列表