图形化用户界面
import java.awt.*;
import javax.swing.*;
public class GraphicsTester extends JFrame {
public GraphicsTester() {
super("Graphics Demo");
setSize(480, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void paint(Graphics g) {
super.paint(g);
g.setFont(new Font("Serif", Font.BOLD, 12));
g.setColor(Color.BLUE);
g.drawString("Hello, World!", 20, 50);
g.setFont(new Font("Serif", Font.ITALIC, 14));
g.setColor(Color.RED);
g.drawString("Graphics Demo", 250, 50);
g.setColor(Color.GREEN);
g.drawLine(50, 100, 150, 100);
g.setColor(Color.BLACK);
g.drawRect(170, 50, 100, 50);
g.setColor(Color.YELLOW);
g.fillRect(170, 120, 100, 50);
g.setColor(Color.CYAN);
g.drawRoundRect(200, 120, 100, 50, 20, 20);
g.setColor(Color.MAGENTA);
g.fillRoundRect(200, 180, 100, 50, 20, 20);
g.setColor(Color.LIGHT_GRAY);
g.fillRect(50, 50, 100, 50);
g.setColor(Color.GRAY);
g.drawRect(50, 50, 100, 50);
g.setColor(Color.BLUE);
g.drawOval(50, 190, 100, 50);
g.setColor(Color.GREEN);
g.fillOval(170, 190, 100, 50);
g.setColor(Color.RED);
g.drawArc(50, 260, 100, 50, 45, 180);
g.setColor(Color.PINK);
g.fillArc(170, 260, 100, 50, 0, 90);
int[] xPoints = {50, 100, 100, 50};
int[] yPoints = {20, 20, 70, 70};
int nPoints = 4;
g.setColor(Color.ORANGE);
g.drawPolygon(xPoints, yPoints, nPoints);
g.setColor(Color.CYAN);
g.fillPolygon(xPoints, yPoints, nPoints);
}
public static void main(String args[]) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFrame.setDefaultLookAndFeelDecorated(true);
GraphicsTester tester = new GraphicsTester();
tester.setVisible(true);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.*;
import javax.swing.*;
public class test3 extends JFrame {
public test3() {
super("word");
setVisible(true);
setSize(480, 250);
System.out.println(getSize());
}
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setPaint(Color.BLACK);
g2d.drawString("Hello, 3D Rectangle!", 50, 50);
int x = 100, y = 100, width = 100, height = 50;
g2d.setColor(Color.LIGHT_GRAY);
g2d.drawRect(x, y, width, height);
g2d.setColor(Color.GRAY.darker());
g2d.drawLine(x, y + height - 1, x + width - 1, y + height - 1);
g2d.drawLine(x + width - 1, y, x + width - 1, y + height - 2);
int fillX = 150, fillY = 150, fillWidth = 100, fillHeight = 50;
GradientPaint gp = new GradientPaint(
fillX, fillY, Color.YELLOW,
fillX, fillY + fillHeight, Color.ORANGE,
true
);
g2d.setPaint(gp);
g2d.fillRect(fillX, fillY, fillWidth, fillHeight);
g2d.setColor(Color.ORANGE.darker());
g2d.drawLine(fillX, fillY + fillHeight, fillX + fillWidth, fillY + fillHeight);
Point2D.Float p1 = new Point2D.Float(200.f, 75.f);
Point2D.Float p2 = new Point2D.Float(250.f, 75.f);
GradientPaint g1 = new GradientPaint(p1, Color.red, p2, Color.yellow, true);
Arc2D.Float arc = new Arc2D.Float(p1.x - (p2.x - p1.x) / 2, 75.f, 130.f, p2.x - p1.x, 0.f, 360.f, 2);
g2d.setPaint(Color.BLUE);
Rectangle2D rect = new Rectangle2D.Float(100, 100, 100, 100);
g2d.fill(rect);
sout(p1);
sout(p2);
}
public void sout(Point2D.Float p) {
System.out.println(p);
}
public static void main(String args[]) {
test3 application = new test3();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class test4 extends javax.swing.JFrame {
int index;
String input;
String choosedStr;
public test4() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {
jButton1 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
textField1 = new java.awt.TextField();
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList<>();
textArea1 = new java.awt.TextArea();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jButton1.setText("确定");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jLabel1.setText("input");
textField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
textField1ActionPerformed(evt);
}
});
jList1.setModel(new javax.swing.AbstractListModel<String>() {
String[] strings = {"Item1", "Item2", "Item3", "Item4", "Item5"};
public int getSize() {
return strings.length;
}
public String getElementAt(int i) {
return strings[i];
}
});
jList1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jList1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jList1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(55, 55, 55)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(46, 46, 46)
.addComponent(textField1, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 147, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(94, 94, 94)
.addComponent(textArea1, javax.swing.GroupLayout.PREFERRED_SIZE, 232, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(85, 85, 85)
.addComponent(jButton1)))
.addContainerGap(63, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(55, 55, 55)
.addComponent(jLabel1))
.addGroup(layout.createSequentialGroup()
.addGap(45, 45, 45)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(textArea1, javax.swing.GroupLayout.PREFERRED_SIZE, 228, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(textField1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(32, 32, 32)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addGap(18, 18, 18)
.addComponent(jButton1)
.addContainerGap(146, Short.MAX_VALUE))
);
pack();
}
private void textField1ActionPerformed(java.awt.event.ActionEvent evt) {
input = textField1.getText();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String []shix={"","touge","is","nice"};
textField1.setText(shix[index]);
input = textField1.getText();
textField1.setText("");
textArea1.setText(input + "\n" + "Selection is Item" + index);
System.out.println(input + "\n" + "Selection is Item" + index);
}
private void jList1MouseClicked(java.awt.event.MouseEvent evt) {
index = jList1.getSelectedIndex() + 1;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new test4().setVisible(true);
}
});
}
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JList<String> jList1;
private javax.swing.JScrollPane jScrollPane1;
private java.awt.TextArea textArea1;
private java.awt.TextField textField1;
}