Java怎样弄出这种风格的界面

时间:2023-01-27 18:28:06
Java怎样弄出这种风格的界面

如图....

以下是TabbedPane的代码.

private JTabbedPane createNavigationPanel() { // 创建导航标签面板的方法
  JTabbedPane tabbedPane = new JTabbedPane(); 
  
  JPanel databasePanel=new JPanel();//人员档案总览
  tabbedPane.addTab("人员档案查询",databasePanel);
  JLabel label=new JLabel("选择查询条件:");
  String[] comboboxtitle1={"姓名","性别","出生日期","籍贯","家庭住址"};
  String[] comboboxtitle2={"等于","包含"};
  JComboBox conditionBox1=new JComboBox();
  conditionBox1.setModel(new DefaultComboBoxModel(comboboxtitle1));
  JComboBox conditionBox2=new JComboBox();
  conditionBox2.setModel(new DefaultComboBoxModel(comboboxtitle2));
  JTextField textfield=new JTextField(10);
  JButton buttonSelect=new JButton("查询");
  JButton buttonShowAll=new JButton("显示全部数据");
  databasePanel.add(label,BorderLayout.NORTH);
  databasePanel.add(conditionBox1,BorderLayout.NORTH);
  databasePanel.add(conditionBox2,BorderLayout.NORTH);
  databasePanel.add(textfield,BorderLayout.NORTH);
  databasePanel.add(buttonSelect,BorderLayout.NORTH);
  databasePanel.add(buttonShowAll,BorderLayout.NORTH);
  String[] tableHead={"人员代码","姓名","性别","出生日期","身份证号","籍贯","家庭住址","联系电话","备注"};
  DefaultTableModel defaulttablemodel=new DefaultTableModel();
  defaulttablemodel.setColumnIdentifiers(tableHead);
  DefaultTableColumnModel defaulttablecolumnmodel=new DefaultTableColumnModel();
  JTable databaseTable=new JTable(defaulttablemodel);
  databaseTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  databaseTable.setEnabled(false);//设置JTable无法修改
  JScrollPane sDatabaseTable=new JScrollPane(databaseTable);
  databasePanel.add(sDatabaseTable,BorderLayout.CENTER);
  
  JPanel changePanel=new JPanel();//人员档案增加、删除、修改
  tabbedPane.addTab("人员档案管理",changePanel);
  return tabbedPane;
 } 


想用如图所示的风格.怎样弄.请大家帮忙.

31 个解决方案

#1


没有看到图片,谢谢

#2


图挂了。。。
给个URL看看么好了~

#3


图片地址.
http://hiphotos.baidu.com/zhidao/pic/item/e850352a6731d8185343c1ea.jpg

#4



看不了的看这里
http://zhidao.baidu.com/question/88129651.html

#5


给了链接地址,还是看不见,谢谢。

#6


让人头疼的格式。。。。

#7


你可以使用JScrollPane 与JTable的组合来实现。
至于你对JTable的某些默认风格不满意,你可以继承JTable,然后重写里面的绘图方法。
还有,你那个图片的风格我感觉跟普通JTable的风格好像差不多

#8


Java怎样弄出这种风格的界面

#9


OReilly.Swing.Hacks.Jun.2005

#10


引用 7 楼 spiniper 的回复:
你可以使用JScrollPane 与JTable的组合来实现。
 至于你对JTable的某些默认风格不满意,你可以继承JTable,然后重写里面的绘图方法。
 还有,你那个图片的风格我感觉跟普通JTable的风格好像差不多


...差不多?...您好好看看..我感觉差好多...完全不同...
Java怎样弄出这种风格的界面

Java怎样弄出这种风格的界面

完全不同风格..

#11


引用 7 楼 spiniper 的回复:
你可以使用JScrollPane 与JTable的组合来实现。
 至于你对JTable的某些默认风格不满意,你可以继承JTable,然后重写里面的绘图方法。
 还有,你那个图片的风格我感觉跟普通JTable的风格好像差不多


刚才没仔细看.是要重写JTable的绘图方法么?
给个例子吧...

面板的代码我都贴上了.怎样绘成如图所示...给个示例..

#12


帮顶

#13


把图片弄过来撒···

#14


引用 13 楼 hzz1988 的回复:
把图片弄过来撒···


看10楼....

#15


你这个就是JOptionPane中的提示信息窗口,上api中查一下提示信息的写法,就行了

#16


让人头疼的格式。。。。

#17


Java做界面真是不好做,VC++就好做多了。

#18


路过,帮顶

#19


那个图片也太小了吧,都看不清

#20


LZ是不是需要这样的效果?

private static JTabbedPane createNavigationPanel() { // 创建导航标签面板的方法
  JTabbedPane tabbedPane = new JTabbedPane(); 
  
  JPanel databasePanel=new JPanel();//人员档案总览
  databasePanel.setLayout(new BorderLayout());
  tabbedPane.addTab("人员档案查询",databasePanel);
  JPanel pnlSearch=new JPanel();  //搜索面版
  pnlSearch.setLayout(new FlowLayout(FlowLayout.LEFT));
  JLabel label=new JLabel("选择查询条件:");
  String[] comboboxtitle1={"姓名","性别","出生日期","籍贯","家庭住址"};
  String[] comboboxtitle2={"等于","包含"};
  JComboBox conditionBox1=new JComboBox();
  conditionBox1.setModel(new DefaultComboBoxModel(comboboxtitle1));
  JComboBox conditionBox2=new JComboBox();
  conditionBox2.setModel(new DefaultComboBoxModel(comboboxtitle2));
  JTextField textfield=new JTextField(10);
  JButton buttonSelect=new JButton("查询");
  JButton buttonShowAll=new JButton("显示全部数据");
  pnlSearch.add(label);
  pnlSearch.add(conditionBox1);
  pnlSearch.add(conditionBox2);
  pnlSearch.add(textfield);
  pnlSearch.add(buttonSelect);
  pnlSearch.add(buttonShowAll);
  databasePanel.add(pnlSearch,BorderLayout.NORTH);
  String[] tableHead={"人员代码","姓名","性别","出生日期","身份证号","籍贯","家庭住址","联系电话","备注"};
  DefaultTableModel defaulttablemodel=new DefaultTableModel();
  defaulttablemodel.setColumnIdentifiers(tableHead);
  DefaultTableColumnModel defaulttablecolumnmodel=new DefaultTableColumnModel();
  JTable databaseTable=new JTable(defaulttablemodel);
  databaseTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  databaseTable.setEnabled(false);//设置JTable无法修改
  JScrollPane sDatabaseTable=new JScrollPane(databaseTable);
  databasePanel.add(sDatabaseTable,BorderLayout.CENTER);
  
  JPanel changePanel=new JPanel();//人员档案增加、删除、修改
  tabbedPane.addTab("人员档案管理",changePanel);
  return tabbedPane;
 } 



#21


To 楼上
我要这种效果
Java怎样弄出这种风格的界面

而不是这种效果
Java怎样弄出这种风格的界面

#22


看来楼主确实是对java默认的样式风格不满意,对于颜色以及背景方案,这些需要你重写绘图控件的方法,如果要java的视觉效果达到楼主规定的样式,必须全部覆盖掉所有组件的绘图效果,自己来写样式定义。比如边框的颜色等等,这样工作量很大。
还有字体等方面的问题也是,这些也要重写。
用java来构建自己的图形视觉感观是很难的,其实对于这点我更倾向于用C#

#23


晕死了。你不过是想要winodws风格而已。
在你的程序中启动处加入如下:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
如果你是用的是windows系统
你不想要的那个是默认的javax.swing.plaf.metal.MetalLookAndFeel
如果不是windows系统但是想要windows的皮肤,
UIManager.setLookAndFeel("javax.swing.plaf.metal.WindowslLookAndFeel
");

#24


其实很简单,用SWT,或者已经用swing开发了大半的话,用第三方的lookandfeel,你要的是一个xp或者office风格的lookandfeel
随便找了个
http://www.stefan-krause.com/java/

#25


引用 22 楼 spiniper 的回复:
看来楼主确实是对java默认的样式风格不满意,对于颜色以及背景方案,这些需要你重写绘图控件的方法,如果要java的视觉效果达到楼主规定的样式,必须全部覆盖掉所有组件的绘图效果,自己来写样式定义。比如边框的颜色等等,这样工作量很大。
 还有字体等方面的问题也是,这些也要重写。
 用java来构建自己的图形视觉感观是很难的,其实对于这点我更倾向于用C#

貌似只有jdk1。6的lookandfeel最接近xp..

#26


帮顶

#27


swing没有大多数人想象的那么弱智,事实上swing非常灵活和强大,好多人都是一知半解,当然我也好不到哪里去。swing严格遵循mvc结构,界面风格和逻辑是严格分离的。更换一个皮肤而已。但是需要注意,不要一个项目使用多个风格。可能产生问题,而且序列化后的兼容性也会产生一些意料不到的情形,尽量避免。还有,注意处理异常。如果你想要,还可以使用Mac风格界面,当然需要加入一些第三方或者其他的包。同样使用UIManager。注意UIManager是对全局产生影响的

#28


这里的TabWindow,非常丰富
http://www.infonode.net/index.html?idw

#29


引用 23 楼 gentalguo 的回复:
晕死了。你不过是想要winodws风格而已。
 在你的程序中启动处加入如下:
 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
 如果你是用的是windows系统
 你不想要的那个是默认的javax.swing.plaf.metal.MetalLookAndFeel
 如果不是windows系统但是想要windows的皮肤,
 UIManager.setLookAndFeel("javax.swing.plaf.metal.WindowslLookAndFeel
 ");

同意~~

#30


shocuole,应该是
com.sun.java.swing.plaf.windows.WindowsLookAndFeel

#31


请用第三方的l&f 
这里看看是不是你想要的: http://www.open-open.com/open92161.htm

#1


没有看到图片,谢谢

#2


图挂了。。。
给个URL看看么好了~

#3


图片地址.
http://hiphotos.baidu.com/zhidao/pic/item/e850352a6731d8185343c1ea.jpg

#4



看不了的看这里
http://zhidao.baidu.com/question/88129651.html

#5


给了链接地址,还是看不见,谢谢。

#6


让人头疼的格式。。。。

#7


你可以使用JScrollPane 与JTable的组合来实现。
至于你对JTable的某些默认风格不满意,你可以继承JTable,然后重写里面的绘图方法。
还有,你那个图片的风格我感觉跟普通JTable的风格好像差不多

#8


Java怎样弄出这种风格的界面

#9


OReilly.Swing.Hacks.Jun.2005

#10


引用 7 楼 spiniper 的回复:
你可以使用JScrollPane 与JTable的组合来实现。
 至于你对JTable的某些默认风格不满意,你可以继承JTable,然后重写里面的绘图方法。
 还有,你那个图片的风格我感觉跟普通JTable的风格好像差不多


...差不多?...您好好看看..我感觉差好多...完全不同...
Java怎样弄出这种风格的界面

Java怎样弄出这种风格的界面

完全不同风格..

#11


引用 7 楼 spiniper 的回复:
你可以使用JScrollPane 与JTable的组合来实现。
 至于你对JTable的某些默认风格不满意,你可以继承JTable,然后重写里面的绘图方法。
 还有,你那个图片的风格我感觉跟普通JTable的风格好像差不多


刚才没仔细看.是要重写JTable的绘图方法么?
给个例子吧...

面板的代码我都贴上了.怎样绘成如图所示...给个示例..

#12


帮顶

#13


把图片弄过来撒···

#14


引用 13 楼 hzz1988 的回复:
把图片弄过来撒···


看10楼....

#15


你这个就是JOptionPane中的提示信息窗口,上api中查一下提示信息的写法,就行了

#16


让人头疼的格式。。。。

#17


Java做界面真是不好做,VC++就好做多了。

#18


路过,帮顶

#19


那个图片也太小了吧,都看不清

#20


LZ是不是需要这样的效果?

private static JTabbedPane createNavigationPanel() { // 创建导航标签面板的方法
  JTabbedPane tabbedPane = new JTabbedPane(); 
  
  JPanel databasePanel=new JPanel();//人员档案总览
  databasePanel.setLayout(new BorderLayout());
  tabbedPane.addTab("人员档案查询",databasePanel);
  JPanel pnlSearch=new JPanel();  //搜索面版
  pnlSearch.setLayout(new FlowLayout(FlowLayout.LEFT));
  JLabel label=new JLabel("选择查询条件:");
  String[] comboboxtitle1={"姓名","性别","出生日期","籍贯","家庭住址"};
  String[] comboboxtitle2={"等于","包含"};
  JComboBox conditionBox1=new JComboBox();
  conditionBox1.setModel(new DefaultComboBoxModel(comboboxtitle1));
  JComboBox conditionBox2=new JComboBox();
  conditionBox2.setModel(new DefaultComboBoxModel(comboboxtitle2));
  JTextField textfield=new JTextField(10);
  JButton buttonSelect=new JButton("查询");
  JButton buttonShowAll=new JButton("显示全部数据");
  pnlSearch.add(label);
  pnlSearch.add(conditionBox1);
  pnlSearch.add(conditionBox2);
  pnlSearch.add(textfield);
  pnlSearch.add(buttonSelect);
  pnlSearch.add(buttonShowAll);
  databasePanel.add(pnlSearch,BorderLayout.NORTH);
  String[] tableHead={"人员代码","姓名","性别","出生日期","身份证号","籍贯","家庭住址","联系电话","备注"};
  DefaultTableModel defaulttablemodel=new DefaultTableModel();
  defaulttablemodel.setColumnIdentifiers(tableHead);
  DefaultTableColumnModel defaulttablecolumnmodel=new DefaultTableColumnModel();
  JTable databaseTable=new JTable(defaulttablemodel);
  databaseTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  databaseTable.setEnabled(false);//设置JTable无法修改
  JScrollPane sDatabaseTable=new JScrollPane(databaseTable);
  databasePanel.add(sDatabaseTable,BorderLayout.CENTER);
  
  JPanel changePanel=new JPanel();//人员档案增加、删除、修改
  tabbedPane.addTab("人员档案管理",changePanel);
  return tabbedPane;
 } 



#21


To 楼上
我要这种效果
Java怎样弄出这种风格的界面

而不是这种效果
Java怎样弄出这种风格的界面

#22


看来楼主确实是对java默认的样式风格不满意,对于颜色以及背景方案,这些需要你重写绘图控件的方法,如果要java的视觉效果达到楼主规定的样式,必须全部覆盖掉所有组件的绘图效果,自己来写样式定义。比如边框的颜色等等,这样工作量很大。
还有字体等方面的问题也是,这些也要重写。
用java来构建自己的图形视觉感观是很难的,其实对于这点我更倾向于用C#

#23


晕死了。你不过是想要winodws风格而已。
在你的程序中启动处加入如下:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
如果你是用的是windows系统
你不想要的那个是默认的javax.swing.plaf.metal.MetalLookAndFeel
如果不是windows系统但是想要windows的皮肤,
UIManager.setLookAndFeel("javax.swing.plaf.metal.WindowslLookAndFeel
");

#24


其实很简单,用SWT,或者已经用swing开发了大半的话,用第三方的lookandfeel,你要的是一个xp或者office风格的lookandfeel
随便找了个
http://www.stefan-krause.com/java/

#25


引用 22 楼 spiniper 的回复:
看来楼主确实是对java默认的样式风格不满意,对于颜色以及背景方案,这些需要你重写绘图控件的方法,如果要java的视觉效果达到楼主规定的样式,必须全部覆盖掉所有组件的绘图效果,自己来写样式定义。比如边框的颜色等等,这样工作量很大。
 还有字体等方面的问题也是,这些也要重写。
 用java来构建自己的图形视觉感观是很难的,其实对于这点我更倾向于用C#

貌似只有jdk1。6的lookandfeel最接近xp..

#26


帮顶

#27


swing没有大多数人想象的那么弱智,事实上swing非常灵活和强大,好多人都是一知半解,当然我也好不到哪里去。swing严格遵循mvc结构,界面风格和逻辑是严格分离的。更换一个皮肤而已。但是需要注意,不要一个项目使用多个风格。可能产生问题,而且序列化后的兼容性也会产生一些意料不到的情形,尽量避免。还有,注意处理异常。如果你想要,还可以使用Mac风格界面,当然需要加入一些第三方或者其他的包。同样使用UIManager。注意UIManager是对全局产生影响的

#28


这里的TabWindow,非常丰富
http://www.infonode.net/index.html?idw

#29


引用 23 楼 gentalguo 的回复:
晕死了。你不过是想要winodws风格而已。
 在你的程序中启动处加入如下:
 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
 如果你是用的是windows系统
 你不想要的那个是默认的javax.swing.plaf.metal.MetalLookAndFeel
 如果不是windows系统但是想要windows的皮肤,
 UIManager.setLookAndFeel("javax.swing.plaf.metal.WindowslLookAndFeel
 ");

同意~~

#30


shocuole,应该是
com.sun.java.swing.plaf.windows.WindowsLookAndFeel

#31


请用第三方的l&f 
这里看看是不是你想要的: http://www.open-open.com/open92161.htm