科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道让界面更加绚丽 Java SE 6.0四种新功能

让界面更加绚丽 Java SE 6.0四种新功能

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在这篇文章中我接着介绍另外几种新的GUI功能。这些功能是:   ?带有排序和过滤功能的JTable。

作者:中国IT实验室 来源:中国IT实验室 2007年9月30日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

  增强的JTabbedPane组件

  JTabbedPane组件为我们提供了一种非常好的方法在窗体上显示很多的控件。我们可以将不同类别的控件放到不同的Tab页上,然后通过需要点击相应的Tab页。在传统的Tab页上只能防止文本的图标。而在Java SE 6中使我们可以直接将控件放到Tab上。我们可以通过setTabComponentAt方法将控件放到Tab上。这个方法有两个参数,一个是Tab的索引,另一个是要放置的对象。


JTabbedPane pane = new JTabbedPane();
pane.setTabComponentAt(1, component);

  在JTabbedPane控件中有3个常用的方法,setTabComponentAt(int index, Component comp), getTabComponentAt(int index)和indexOfTabComponent(Component)。最后一个方法将替换Tab上的控件。下面的代码是一个关于JTabbedPane控件的演示。

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;

public class TestTabbedPane
{
 static void addIt(JTabbedPane tabbedPane, String text)
 {
  JLabel label = new JLabel(text);
  JButton button = new JButton(text);
  JPanel panel = new JPanel();
  panel.add(label);
  panel.add(button);
  tabbedPane.addTab(text, panel);
  if(text.equals("tab4"))
   tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1,
new JTextField("插入了文本控件"));
  else
   tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1,button);
 }
 public static void main(String args[])
 {
  JFrame f = new JFrame("JTabbedPane演示");
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  JTabbedPane tabbedPane = new JTabbedPane();
  addIt(tabbedPane, "tab1");
  addIt(tabbedPane, "tab2");
  addIt(tabbedPane, "tab3");
  addIt(tabbedPane, "tab4");
  addIt(tabbedPane, "tab5");
  f.add(tabbedPane, BorderLayout.CENTER);
  f.setSize(400, 200);
  f.setVisible(true);
 }
}

  图6是显示界面,其中在Tab4上插入了一个文本控件,在Tab1至Tab5上各插入了一个按钮控件。


图6 JTabbedPane演示
  增强的打印功能

  自从Java SE 5开始,Sun就对控件的打印功能进行了加强。如JTextField、JTextArea等。在Java SE 6中Sun为打印增加了分页功能。我们只需要调用JtextField或JTextArea的print方法就可以调用打印对话框。下面是一段测试代码。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;

public class TextPrint
{
 public static void main(final String args[])
 {
  JFrame frame = new JFrame("打印测试");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  final JTextArea textArea = new JTextArea();
  JScrollPane pane = new JScrollPane(textArea);
  frame.add(pane, BorderLayout.CENTER);
  textArea.setText("打印内容...\r\n可以分页!" );
  JButton button = new JButton("打印");
  frame.add(button, BorderLayout.SOUTH);
  ActionListener listener = new ActionListener()
  {
   public void actionPerformed(ActionEvent e)
   {
    try
    {
     textArea.print();
    }
    catch (PrinterException pe)
    {
     System.err.println("打印失败...");
    }
   }
  };
  button.addActionListener(listener);
  frame.setSize(250, 150);
  frame.setVisible(true);
 }
}

  图7和图8分别是打印对话框和设置对话框,点击"打印"按钮后弹出如图8的对话框。


图7 打印界面

图8 设置对话框


 

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章