我是初学编程者,这几天初学了一些图形用户界面的设计知识.照样画葫芦试验了一下,还好.不过.我忽然觉得有些图形界面是不需要那么复杂的,如微软拼音中的候选长板条窗口\智能狂拼中的长框形窗口以及状态窗口等,我查了一下JDK中的 API居然没有这样的实现类?????请高手指点一下如何设计这样最简单的窗口呢?

解决方案 »

  1.   

    简单的窗口只是没有标题栏和控制按钮,个头小一点。但原理是一样的,自己复写个JFrame就可以了
      

  2.   

    你可以到我的论坛看看。www.52caiyun.com
      

  3.   

    如微软拼音中的候选长板条窗口\智能狂拼中的长框形窗口以及状态窗口等
    你这句话什么意思啊,没明白!如果是toolbar, 那么相关的类 是JToolBar,
    如果是statusbar, JDK 中是没有 JStatusBar 这个类的, 这个类得自己写, 
    用JLabel 就可以实现了.
      

  4.   

    图示在http://bbs.chinajavaworld.com/post/view?bid=6&id=671139&sty=1#671139
    这些图太简单了,我前几天学的那些复杂的理论全用不上?请大侠们给个示范,让我学习一下
      

  5.   

    这些窗口不过是一个form加上panel,加上label组成的,和你说的api没什么关系。form,label这些都是有样式的,自己要配好看些。如果还是没达到你希望的效果,不过就是加上背景图而已。至于说有没有最大框,关闭框之类的东东,那是最基础的了,不提也罢。
      

  6.   

    就继承一个JFrame的类就行了啊,设置一下大小啊什么就行
      

  7.   

    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.*;
    import javax.swing.border.Border;public class InputMethodWindowDemo extends JWindow
    {
    private char startChar = '汉';
    private JLabel[] candidateLabels = null;
    private JButton prevBtn = new JButton("<");
    private JButton nextBtn = new JButton(">");

    public InputMethodWindowDemo() 
    {
    JToolBar toolbar = new JToolBar();
    toolbar.setFloatable(false);
    toolbar.setRollover(true);

    toolbar.add(Box.createHorizontalStrut(5));

    //Font font = new Font("Dialog", Font.PLAIN, 16);
    candidateLabels = new JLabel[9];
    for (int i = 0; i < candidateLabels.length; i++) {
    candidateLabels[i] = new JLabel();
    //candidateLabels[i].setFont(font);
    toolbar.add(candidateLabels[i]);
    }
    updateCandidateLabels();
    toolbar.addSeparator();

    prevBtn.setMargin(new Insets(0,3,0,3));
    nextBtn.setMargin(new Insets(0,3,0,3));
    toolbar.add(prevBtn);
    toolbar.add(nextBtn);

    JPanel contentPane = (JPanel) getContentPane();
    contentPane.add(toolbar, BorderLayout.CENTER);
    contentPane.setBorder(createBorder());

    prevBtn.addActionListener(new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    startChar -= 9;
    updateCandidateLabels();
    }
    });
    nextBtn.addActionListener(new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    startChar += 9;
    updateCandidateLabels();
    }
    });
    }

    private void updateCandidateLabels()
    {
    for (int i = 0; i < candidateLabels.length; i++) {
    candidateLabels[i].setText(String.valueOf(i+1) + " " +((char)(startChar+i)) + " ");
    }
    } private Border createBorder()
    {
    Border b1 = BorderFactory.createMatteBorder(1, 1, 0, 0, SystemColor.controlLtHighlight);
    Border b2 = BorderFactory.createMatteBorder(0, 0, 1, 1, SystemColor.controlShadow);
    Border b3 = BorderFactory.createMatteBorder(1, 1, 0, 0, SystemColor.control);
    Border b4 = BorderFactory.createMatteBorder(0, 0, 1, 1, SystemColor.controlDkShadow);

    Border inner = BorderFactory.createCompoundBorder(b2, b1);
    Border outer = BorderFactory.createCompoundBorder(b4, b3);

    return BorderFactory.createCompoundBorder(outer, inner);
    } public static void main(String[] args)
    {
    try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {
    }

    Window w = new InputMethodWindowDemo();
    w.pack();
    w.setLocationRelativeTo(null);
    w.setVisible(true);
    }
    }
      

  8.   

    gtlang78() 水平高,人品更高.
    尊敬ING