📄 printdialog.java
字号:
import java.awt.GridLayout;
import java.awt.FlowLayout;
import java.awt.BorderLayout;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class PrintDialog extends JFrame implements ActionListener
{
private JComboBox printers = new JComboBox();
private JButton okay = new JButton("OK");
private JButton cancel = new JButton("Cancel");
private JRadioButton all = new JRadioButton("All Pages");
private JRadioButton current = new JRadioButton("Current Pages");
private JRadioButton selected= new JRadioButton("Selected Pages");
private JCheckBox numbers = new JCheckBox("Include Line Numbers");
private JCheckBox headers = new JCheckBox("Header on all pages");
private JCheckBox fileName= new JCheckBox("File name on each page");
public PrintDialog()
{
super("Print Dialog");
//combobox . . .
printers.addItem("HP DeskJet 690C");
printers.addItem("HP DeskJet 870C Series");
printers.addItem("HP LaserJet 5");
printers.addItem("Networked Office Printer");
printers.addItem("Networked Computer Lab Printer");
JPanel printerPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
printerPanel.setBorder(new TitledBorder("Printer Selection"));
printerPanel.add(new JLabel("Name: "));
printerPanel.add(printers);
//-------------------------
ButtonGroup pageOptions = new ButtonGroup();
pageOptions.add(all);
pageOptions.add(current);
pageOptions.add(selected);
all.setSelected(true);
JPanel pagePanel = new JPanel(new GridLayout(3, 1));
pagePanel.add(all);
all.addActionListener(this);
pagePanel.add(current);
current.addActionListener(this);
pagePanel.add(selected);
selected.addActionListener(this);
pagePanel.setBorder(new TitledBorder("Print Range: "));
JPanel optionsPanel = new JPanel(new GridLayout(3, 1));
optionsPanel.add(numbers);
numbers.addActionListener(this);
numbers.setToolTipText("numbers . . .");
optionsPanel.add(headers);
headers.addActionListener(this);
optionsPanel.add(fileName);
fileName.addActionListener(this);
optionsPanel.setBorder(new TitledBorder("Format Options: "));
//JPanel buttons = new JPanel(new FlowLayout());
JPanel buttons = new JPanel(new GridLayout(1,1));
buttons.add(okay);
okay.addActionListener(this);
okay.setToolTipText("selection is okay!");
buttons.add(cancel);
cancel.addActionListener(this);
cancel.setToolTipText("quit the app.");
getContentPane().setLayout(new BorderLayout());
getContentPane().add("West", pagePanel);
getContentPane().add("East", optionsPanel);
getContentPane().add("South", buttons);
getContentPane().add("North", printerPanel);
validate();
pack();
//setSize(400, 300);
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
if ((ae.getSource() == okay) || (ae.getSource() == cancel))
{
System.out.println("Printer: " + printers.getSelectedItem());
System.exit(0);
}
else
System.out.println("Command: " + ae.getActionCommand());
}
public static void main(String args[])
{
try
{
String lf_wind = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
String lf_unix = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
String lf_java = "javax.swing.plaf.metal.MetalLookAndFeel";
UIManager.setLookAndFeel(lf_java);
}
catch (Exception e)
{
System.err.println("Exception: " + e);
}
PrintDialog pd = new PrintDialog();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -