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();
你这句话什么意思啊,没明白!如果是toolbar, 那么相关的类 是JToolBar,
如果是statusbar, JDK 中是没有 JStatusBar 这个类的, 这个类得自己写,
用JLabel 就可以实现了.
这些图太简单了,我前几天学的那些复杂的理论全用不上?请大侠们给个示范,让我学习一下
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);
}
}
尊敬ING