- 浏览: 110822 次
- 性别:
- 来自: 湖南
文章分类
最新评论
-
liuyiisme:
[i][/i][b][/b][u][/u]
[url][ ...
JFileChooser -
xyc717:
你前面那黄色字颜色能在恶心点么……
this.form.el is undefined FormPanel或Panel加载数据 -
里克尔奇:
您好,谢谢你的文章,我测试了一下,但是视频没有充满播放器啊!急 ...
视频点播系统 -
就一剑1:
<s:intercept-url pattern=&qu ...
springside3.3.1 spring security -
yu11223344:
能把权限控制的xml的形式改成查数据库吗?
springside3.3.1 spring security
1. gridx,gridy 设置组件的位置:其实就是组件行列的设置,注意都是从0开始的,比如 gridx=0,gridy=1时放在0行1列。
2.gridwidth,gridheight—设置组件跨越的行列,默认值为1;GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,会占据所有剩余的空间。
3. weightx,weighty——用来设置窗口变大时,各组件跟着变大的比例。比如组件A的weightx=0.5,组件B的weightx=1,那么窗口X轴变大时剩余的空间就会以1:2的比例分配给组件A和B。
4.anchor — 当组件空间大于组件本身时,要将组件置于何处。 有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、WEST、NORTHWEST选择。
5.insets —— 设置组件之间彼此的间距。 它有四个参数,分别是上,左,下,右,默认为(0,0,0,0)。
好了,先看一下左右选择框的实现吧:
图片在上传的文件中....
2.gridwidth,gridheight—设置组件跨越的行列,默认值为1;GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,会占据所有剩余的空间。
3. weightx,weighty——用来设置窗口变大时,各组件跟着变大的比例。比如组件A的weightx=0.5,组件B的weightx=1,那么窗口X轴变大时剩余的空间就会以1:2的比例分配给组件A和B。
4.anchor — 当组件空间大于组件本身时,要将组件置于何处。 有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、WEST、NORTHWEST选择。
5.insets —— 设置组件之间彼此的间距。 它有四个参数,分别是上,左,下,右,默认为(0,0,0,0)。
好了,先看一下左右选择框的实现吧:
图片在上传的文件中....
import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.DefaultListModel; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class MyFrame extends JFrame { JPanel mainPanel = new JPanel(); JButton add = new JButton(); JButton left = new JButton(); JButton right = new JButton(); JLabel label = new JLabel(); JTextField field = new JTextField(); DefaultListModel leftModel = new DefaultListModel(); DefaultListModel rightMOdel = new DefaultListModel(); JList leftList = new JList(leftModel); JList rightList = new JList(rightMOdel); JPanel left_Right_Panel = new JPanel(); public MyFrame() { this.setTitle("test"); this.setPreferredSize(new Dimension(600, 400)); this.initComponent(); this.addData(); this.setVisible(true); this.pack(); } /** * 初始化组件 */ private void initComponent() { label.setText("添加选项:"); add.setText("添加"); leftList.setPreferredSize(new Dimension(150, 150)); rightList.setPreferredSize(leftList.getPreferredSize()); left.setText("左"); right.setText("右"); mainPanel.setBorder(BorderFactory.createTitledBorder("左右选择框")); mainPanel.setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; // 0行0列 c.gridy = 0; c.gridwidth = 1; c.gridheight = 1; c.fill = GridBagConstraints.HORIZONTAL; c.weightx = 0; c.weighty = 0; mainPanel.add(label, c); c.gridx++; c.weightx = 1; mainPanel.add(field, c); c.gridx++; c.weightx = 0; c.gridwidth = 1; c.gridheight = 1; // c.fill = GridBagConstraints.HORIZONTAL; mainPanel.add(add, c); c.gridx = 0; c.gridy = 1; c.weightx = 1; c.weighty = 1; c.gridwidth = 2; c.gridheight = 2; c.fill = GridBagConstraints.BOTH; mainPanel.add(leftList, c); c.gridx = 2; c.gridy = 1; c.gridwidth = 1; c.gridheight = 1; c.weightx = 0; c.weighty = 0.5; c.anchor = GridBagConstraints.SOUTH; c.fill = GridBagConstraints.HORIZONTAL; mainPanel.add(left, c); c.gridx = 2; c.gridy = 2; c.anchor = GridBagConstraints.NORTH; c.fill = GridBagConstraints.HORIZONTAL; mainPanel.add(right, c); c.gridx = 3; c.gridy = 1; c.gridwidth = 1; c.gridheight = 2; c.weightx = 1; c.weighty = 1; c.fill = GridBagConstraints.BOTH; mainPanel.add(rightList, c); this.getContentPane().add(mainPanel); } private void addData() { add.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub addItem(); } }); left.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub leftItem(); } }); right.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub rightItem(); } }); } /** * 增加项 */ private void addItem() { if (field.getText() != null && !field.getText().equals("")) { ((DefaultListModel) leftList.getModel()) .addElement(field.getText()); field.setText(""); } } /** * 左移项 */ private void leftItem() { if (rightList.getSelectedIndex() != -1) { Object o = rightList.getSelectedValue(); ((DefaultListModel) rightList.getModel()).remove(rightList .getSelectedIndex()); ((DefaultListModel) leftList.getModel()).addElement(o); } } /** * 右移项 */ private void rightItem() { if (leftList.getSelectedIndex() != -1) { Object o = leftList.getSelectedValue(); ((DefaultListModel) leftList.getModel()).remove(leftList .getSelectedIndex()); ((DefaultListModel) rightList.getModel()).addElement(o); } } public static void main(String args[]) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); } MyFrame frame = new MyFrame(); } }
发表评论
-
tomcat集群配置
2013-10-29 14:58 717http://www.iteye.com/topic/101 ... -
HashMapTest
2013-07-10 11:26 761package com.hashmap.test; ... -
strategy enum pattern
2013-07-09 16:16 673enum PayrollDay { MONDAY(PayT ... -
list remove
2013-07-09 16:15 0List<Integer> list = new ... -
String,StringBuffer与StringBuilder的区别??
2013-07-02 21:23 635转 : http://blog.csdn.net/ ... -
file down load
2011-03-14 10:05 754转载: http://blog.csdn.net/seng3 ... -
转换浮点数为保留x位小数的浮点数,主要是用来显示四舍五入
2010-07-22 14:41 1246/** * 转换浮点数为保留x位小数的浮点数,主要是 ... -
自写控制层小框架
2009-12-29 00:29 899我是一个java菜鸟!近来在学习java,也想写点小东西。希望 ... -
java中获取资源文件
2009-07-16 13:39 889public class DrpToOAInfo { @P ... -
Tomcat jndi配置精华版
2009-06-13 12:49 50371.在Tomcat中添加JNDI数据源 建议用Tomcat的A ... -
Java操作PDF,Word,Excel,Access!
2009-05-06 12:23 1192Java操作PDF http://www.lowagie.co ... -
jfilechooser默认路径问题
2009-05-05 23:08 6101JFileChooser保存路径的问题 我们在用JFileCh ... -
JFileChooser
2009-05-05 20:33 3638其实JFileChooser基本使用方法还是很简单的,下面写两 ... -
GridLayout详解
2009-04-15 09:52 4732GridLayout GridLayout是一个非常强大的布 ... -
collection 学习记录
2009-04-06 16:49 747//根据key升序排列 TreeMap map = ... -
servler filter 学习记录
2009-04-04 15:22 1104String str = request.getParam ...
相关推荐
在实现左右选择框的场景中,通常会使用`JPanel`来组织组件,并为每个面板指定`GridBagLayout`。通过调整`gridx`, `gridy`, `gridwidth`等参数,可以将选择框按照需求布局。同时,可能还需要监听组件事件,例如`...
本讲主要探讨了五种常用的布局管理器:FlowLayout、BorderLayout、CardLayout、GridLayout以及GridBagLayout。 1. FlowLayout:流式布局管理器是Java中最基础的布局管理器,也是Panel和Applet类的默认布局。它按照...
开发者可以根据需求选择合适的布局管理器,以实现美观且功能完善的用户界面。 **jbcl.jar在布局管理中的作用** `jbcl.jar`库是为了解决JavaBeans组件在不同布局管理器中的兼容性问题。由于不同的布局管理器有不同的...
【JAVA布局管理详解】 ...总结,Java的布局管理器为开发人员提供了强大的工具,可以根据需求选择合适的布局,创建出各种复杂的用户界面。理解并熟练掌握这些布局管理器是构建专业GUI应用程序的基础。
GridBagLayout是最灵活但也是最复杂的布局管理器,它允许组件有不同的大小并按任意顺序添加。每个组件都可以有自己的约束条件来控制其在网格中的位置和大小。由于其灵活性,通常用于创建复杂的用户界面。 举例:在...
Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout、CardLayout和GridBagLayout,每种布局管理器都有其特定的布局策略。例如,FlowLayout按照从左到右、从上到下的顺序排列组件,而GridLayout则...
Swing提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout和GridBagLayout,用于控制组件在窗口中的排列方式。开发者可能根据需求选择合适的布局。 11. **国际化**: 对于更复杂的程序,界面文本可能...
**特点**:`GridBagLayout`是一种更为灵活的布局管理器,它可以实现组件的大小和位置的精细控制。与`GridLayout`类似,但提供了更多的布局选项,例如允许组件跨越多个单元格。 **构造方法**: 1. `GridBagLayout()`...
Java Swing是Java GUI编程的重要库,它提供了丰富的组件和...通过合理地选择和组合布局管理器,我们可以构建出适应性强、用户体验良好的桌面应用程序。在实践中不断探索和实验,才能更好地掌握这些布局管理器的用法。
Java Swing 中的布局管理器是构建用户界面时不可或缺的部分,它们决定了组件在窗口或容器中的...开发者可以根据具体需求灵活选择,并结合其他布局管理器(如 GridBagLayout、GridLayout 等)以实现更复杂的界面设计。
Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout、CardLayout和GridBagLayout,每种布局管理器有其特定的排列规则。例如,FlowLayout按照水平或垂直顺序排列组件,而BorderLayout将组件分配到五...
6. **Swing布局管理**:有效使用BorderLayout、GridLayout、BoxLayout或GridBagLayout等布局管理器,确保界面元素的正确排列和大小调整。 7. **设计模式**:可能采用了MVC(模型-视图-控制器)模式,将业务逻辑、...
4. 使用 `GridBagLayout` 布局管理器的关键在于 `GridBagConstraints` 对象,它才是控制容器中每个组件布局的核心类。 5. 如果多个 `JRadioButton` 按钮都要添加到面板和按钮组中,当为它们添加事件监听时,会有很多...
在实现这样的日历选择器时,开发者通常会利用Java的Swing库,因为它提供了丰富的GUI组件和布局管理器。他们会用`JPanel`来创建日历视图,可能使用`JButton`来表示每一天,通过颜色或者标记来区分工作日和周末。同时...
常见的布局管理器有FlowLayout、BorderLayout、GridLayout、BoxLayout以及GridBagLayout等,开发者可以根据需要选择合适的布局。 综上所述,这个基于Java Swing和BeautyEye的资源管理器项目,不仅展现了Swing的灵活...
此外,布局管理器:在Swing中,布局管理器如FlowLayout、BorderLayout、GridLayout、GridBagLayout等用于自动调整组件的位置和大小。在这个日历程序中,我们可能会用到GridLayout来创建日期网格,同时可能使用其他...
AWT提供了几种布局管理器,如`FlowLayout`、`BorderLayout`、`GridLayout`和`GridBagLayout`,用于自动排列和调整组件的位置和大小。在图书管理系统中,根据界面设计需要选择合适的布局管理器。 5. 组件的属性和...
这可以通过布局管理器实现,如Java的`GridBagLayout`或Qt的`QSplitter`。开发者可以设置分割条,让用户自行调整各部分的大小,提供更灵活的用户体验。 3. 改变大小:对话框的大小可变性对于用户友好性至关重要。...
此外,为了增强界面的适应性和美观度,还可以结合其他高级布局管理器如`GridBagLayout`和`BoxLayout`,以及使用`JPanel`和`JFrame`等更高级的容器来构建复杂的GUI结构。 总之,掌握好Java中的布局管理器是每个Java...
常见的布局管理器包括 FlowLayout、BorderLayout、GridLayout、CardLayout、GridBagLayout 等。 六、Java Foundation Classes(JFC) JFC 是 Java 语言中的图形用户界面类库,它提供了一系列的图形用户界面组件和...