gpt4 book ai didi

java - 转换现有的 applet intro 可执行 jar 文件

转载 作者:行者123 更新时间:2023-12-02 07:00:46 28 4
gpt4 key购买 nike

我在学校学习 Java,所以我做了一些任务,但我希望能够从中制作一个可执行文件,这样我就可以将它发送给一些 friend 来展示我制作的东西。我在这个网站上发现你必须使用 JFrames 和类似的东西,但我不知道它是如何工作的。对此做了一些研究,但我找不到一种简单的方法来转换它而不重做我几乎所有的代码。我的代码在下面,有人可以帮我吗?

企业

    package jpr_keuze;
import java.applet.*;
import java.awt.*;

public class Keuze extends Applet {
Choice kleur, vorm;
Label titel, lblKleur, lblVorm, parameters, lblParameter1, lblParameter2, lblParameter3, lblParameter4, lblParameter5, lblParameter6;
TextField parameter1, parameter2, parameter3, parameter4, parameter5, parameter6, tekst;
Button teken, vergrendel1, vergrendel2;
Integer intParameter1, intParameter2, intParameter3, intParameter4, intParameter5, intParameter6, x, y, lengte, grootsteX, grootsteY, kleinsteX, kleinsteY, intParameter7, intParameter8, intParameter9, intParameter10, intParameter11, intParameter12, intVorm, intKleur, intParameter13, intParameter14, intParameter15, intParameter16, intParameter17, intParameter18, intKleur2, intVorm2;
Boolean draw, draw2, draw3;
Polygon driehoek, driehoek2, driehoek3;
String strTekst, strTekst2, strTekst3;

public void init(){

draw = false;
draw2 = false;
draw3 = false;

kleur = new Choice();
vorm = new Choice();
titel = new Label("Objecten tekenen");
lblKleur = new Label("Kies een kleur: ");
lblVorm = new Label("Kies een vorm: ");
parameters = new Label("Parameters");
parameter1 = new TextField("1");
parameter2 = new TextField("1");
parameter3 = new TextField("1");
parameter4 = new TextField("1");
parameter5 = new TextField("1");
parameter6 = new TextField("1");
teken = new Button("Teken de gekleurde vorm");
driehoek = new Polygon();
tekst = new TextField();
lblParameter1 = new Label();
lblParameter2 = new Label();
lblParameter3 = new Label();
lblParameter4 = new Label();
lblParameter5 = new Label();
lblParameter6 = new Label();
vergrendel1 = new Button("Vergrendel 1");
vergrendel2 = new Button("Vergrendel 2");
driehoek2 = new Polygon();
driehoek3 = new Polygon();

add(kleur);
add(vorm);
add(titel);
add(lblKleur);
add(lblVorm);
add(parameters);
add(parameter1);
add(parameter2);
add(parameter3);
add(parameter4);
add(parameter5);
add(parameter6);
add(teken);
add(tekst);
add(lblParameter1);
add(lblParameter2);
add(lblParameter3);
add(lblParameter4);
add(lblParameter5);
add(lblParameter6);
add(vergrendel1);
add(vergrendel2);


kleur.add("Rood");//0
kleur.add("Groen");//1
kleur.add("Blauw");//2
kleur.add("Oranje");//3
kleur.add("Lichtblauw");//4
kleur.add("Geel");//5
kleur.add("Zwart");//6
kleur.add("Wit");//7
kleur.add("Roze");//8
kleur.add("Magenta");//9

vorm.add("Lijnstuk");//0
vorm.add("Rechthoek");//1
vorm.add("Ovaal");//2
vorm.add("Driehoek");//3
vorm.add("Rechthoek met afgeronde hoeken");//4

vergrendel1.setBackground(Color.green);
vergrendel2.setBackground(Color.green);

}
public void paint(Graphics g){
setSize(750,750);

intParameter1 = Integer.parseInt(parameter1.getText());
intParameter2 = Integer.parseInt(parameter2.getText());
intParameter3 = Integer.parseInt(parameter3.getText());
intParameter4 = Integer.parseInt(parameter4.getText());
intParameter5 = Integer.parseInt(parameter5.getText());
intParameter6 = Integer.parseInt(parameter6.getText());
strTekst = tekst.getText();

grootsteX = 0;
grootsteY = 0;
kleinsteX = 0;
kleinsteY = 0;


setBackground(Color.lightGray);
lblKleur.setBackground(Color.lightGray);
lblVorm.setBackground(Color.lightGray);
parameters.setBackground(Color.lightGray);
teken.setBackground(Color.cyan);
titel.setBackground(Color.red);
titel.setBounds(0, 0, 750, 25);
titel.setAlignment(Label.CENTER);
lblParameter1.setBackground(Color.lightGray);
lblParameter2.setBackground(Color.lightGray);
lblParameter3.setBackground(Color.lightGray);
lblParameter4.setBackground(Color.lightGray);
lblParameter5.setBackground(Color.lightGray);
lblParameter6.setBackground(Color.lightGray);

lblKleur.setBounds(150, 50, 100, 25);
lblVorm.setBounds(150, 75, 100, 25);
parameters.setBounds(150, 105, 100, 25);
kleur.setBounds(250, 50, 100, 25);
vorm.setBounds(250, 75, 250, 25);
parameter1.setBounds(370, 105, 50, 20);
parameter2.setBounds(550, 105, 50 ,20);
parameter3.setBounds(370, 130, 50, 20);
parameter4.setBounds(550, 130, 50, 20);
parameter5.setBounds(370, 155, 50, 20);
parameter6.setBounds(550, 155, 50, 20);
teken.setBounds(250, 230, 200, 25);
tekst.setBounds(250, 190, 200, 20);
lblParameter1.setBounds(250, 105, 120, 20);
lblParameter2.setBounds(430, 105, 120, 20);
lblParameter3.setBounds(250, 130, 120, 20);
lblParameter4.setBounds(430, 130, 120, 20);
lblParameter5.setBounds(250, 155, 120, 20);
lblParameter6.setBounds(430, 155, 120, 20);
vergrendel1.setBounds(0, 230, 200, 25);
vergrendel2.setBounds(500, 230, 200, 25);

lblParameter1.setText("X1: ");
lblParameter2.setText("Y1: ");

lblParameter1.setAlignment(Label.RIGHT);
lblParameter2.setAlignment(Label.RIGHT);
lblParameter3.setAlignment(Label.RIGHT);
lblParameter4.setAlignment(Label.RIGHT);
lblParameter5.setAlignment(Label.RIGHT);
lblParameter6.setAlignment(Label.RIGHT);

driehoek.reset();
driehoek2.reset();
driehoek3.reset();

if (draw == true){
switch (kleur.getSelectedIndex()){
case 0: g.setColor(Color.red);
break;
case 1: g.setColor(Color.green);
break;
case 2: g.setColor(Color.blue);
break;
case 3: g.setColor(Color.orange);
break;
case 4: g.setColor(Color.cyan);
break;
case 5: g.setColor(Color.yellow);
break;
case 6: g.setColor(Color.black);
break;
case 7: g.setColor(Color.white);
break;
case 8: g.setColor(Color.pink);
break;
case 9: g.setColor(Color.magenta);
break;
}
switch (vorm.getSelectedIndex()){
case 0: g.drawLine(intParameter1, intParameter2, intParameter3, intParameter4);
g.setColor(Color.darkGray);
g.drawString(intParameter1 + " , " + intParameter2, intParameter1 - 5, intParameter2 - 5);
g.drawString(intParameter3 + " , " + intParameter4, intParameter3 + 5, intParameter4 - 5);
grootsteX = intParameter1;
kleinsteX = intParameter3;
if (intParameter3>grootsteX){
grootsteX = intParameter3;
kleinsteX = intParameter1;
}

grootsteY = intParameter2;
kleinsteY = intParameter4;
if (intParameter4>grootsteY){
grootsteY = intParameter4;
kleinsteY = intParameter2;
}
x = kleinsteX + (grootsteX - kleinsteX)/2;
y = kleinsteY + (grootsteY - kleinsteY)/2;

break;

case 1: g.fillRect(intParameter1, intParameter2, intParameter3, intParameter4);

g.setColor(Color.darkGray);
g.drawString(intParameter1 + " , " + intParameter2, intParameter1 - 5, intParameter2 - 5);
g.drawString(intParameter3.toString(), intParameter1 + intParameter3 /2, intParameter2 + intParameter4 + 25);
g.drawString(intParameter4.toString(), intParameter1 + intParameter3 + 5, intParameter2 + intParameter4 /2);
x = intParameter1 + (intParameter3 / 2);
y = intParameter2 + (intParameter4 / 2);
break;

case 2: g.fillOval(intParameter1, intParameter2, intParameter3, intParameter4);

g.setColor(Color.darkGray);
g.drawString(intParameter1 + " , " + intParameter2, intParameter1-25, intParameter2 - 25);
g.drawString(intParameter3.toString(), intParameter1 + intParameter3/2, intParameter2 + intParameter4 + 25);
g.drawString(intParameter4.toString(), intParameter1 + intParameter3 + 5, intParameter2 + intParameter4/2);

x = intParameter1 + (intParameter3 / 2);
y = intParameter2 + (intParameter4 / 2);
break;

case 3: driehoek.addPoint(intParameter1, intParameter2);
driehoek.addPoint(intParameter3, intParameter4);
driehoek.addPoint(intParameter5, intParameter6);
g.fillPolygon(driehoek);

grootsteX = intParameter1;
if (intParameter3>grootsteX)
grootsteX = intParameter3;
if (intParameter5>grootsteX)
grootsteX = intParameter5;

kleinsteX = intParameter1;
if (intParameter3<kleinsteX)
kleinsteX = intParameter3;
if (intParameter5<kleinsteX)
kleinsteX = intParameter5;

grootsteY = intParameter2;
if (intParameter4>grootsteY)
grootsteY = intParameter4;
if (intParameter6>grootsteY)
grootsteY = intParameter6;

kleinsteY = intParameter2;
if(intParameter4<kleinsteY)
kleinsteY = intParameter4;
if(intParameter6<kleinsteY)
kleinsteY = intParameter6;

x = kleinsteX + (grootsteX - kleinsteX)/2;
y = kleinsteY + (grootsteY - kleinsteY)/2;

g.setColor(Color.darkGray);
g.drawString(intParameter1 + " , " + intParameter2, intParameter1 - 25, intParameter2 - 25);
g.drawString(intParameter3 + " , " + intParameter4, intParameter3 - 25, intParameter4 - 25);
g.drawString(intParameter5 + " , " + intParameter6, intParameter5 - 10, intParameter6 - 25);

break;
case 4: g.fillRoundRect(intParameter1, intParameter2, intParameter3, intParameter4, intParameter5, intParameter6);

x = intParameter1 + (intParameter3 / 2);
y = intParameter2 + (intParameter4 / 2);

g.setColor(Color.darkGray);
g.drawString(intParameter1 + " , " + intParameter2, intParameter1 - 5, intParameter2 - 10);
g.drawString(intParameter3.toString(), intParameter1 + intParameter3 /2, intParameter2 + intParameter4 + 25);
g.drawString(intParameter4.toString(), intParameter1 + intParameter3 + 5, intParameter2 + intParameter4 /2);
g.drawString(intParameter5.toString(), intParameter1 + 30, intParameter2 + 15);
g.drawString(intParameter6.toString(), intParameter1 + 15, intParameter2 + 30);

break;
}
g.setColor(Color.darkGray);
lengte = (strTekst.length() * 5)/2;
g.drawString(strTekst, x - lengte, y);
}
switch(vorm.getSelectedIndex()){
case 0: lblParameter3.setText("X2: ");
lblParameter4.setText("Y2: ");
lblParameter5.setText("");
lblParameter6.setText("");
parameter5.setVisible(false);
parameter6.setVisible(false);
break;
case 1: lblParameter3.setText("Breedte: ");
lblParameter4.setText("Hoogte: ");
lblParameter5.setText("");
lblParameter6.setText("");
parameter5.setVisible(false);
parameter6.setVisible(false);
break;
case 2: lblParameter3.setText("Breedte: ");
lblParameter4.setText("Hoogte: ");
lblParameter5.setText("");
lblParameter6.setText("");
parameter5.setVisible(false);
parameter6.setVisible(false);
break;
case 3: lblParameter3.setText("X2: ");
lblParameter4.setText("Y2: ");
lblParameter5.setText("X3: ");
lblParameter6.setText("Y3: ");
parameter5.setVisible(true);
parameter6.setVisible(true);
case 4: lblParameter3.setText("Breedte: ");
lblParameter4.setText("Hoogte: ");
lblParameter5.setText("Breedte ronde hoek: ");
lblParameter6.setText("Hoogte ronde hoek: ");
parameter5.setVisible(true);
parameter6.setVisible(true);
break;
}

draw = false;

if (draw2 == true){
switch (intKleur){
case 0: g.setColor(Color.red);
break;
case 1: g.setColor(Color.green);
break;
case 2: g.setColor(Color.blue);
break;
case 3: g.setColor(Color.orange);
break;
case 4: g.setColor(Color.cyan);
break;
case 5: g.setColor(Color.yellow);
break;
case 6: g.setColor(Color.black);
break;
case 7: g.setColor(Color.white);
break;
case 8: g.setColor(Color.pink);
break;
case 9: g.setColor(Color.magenta);
break;
}
switch (intVorm){
case 0: g.drawLine(intParameter7, intParameter8, intParameter9, intParameter10);
g.setColor(Color.darkGray);
g.drawString(intParameter7 + " , " + intParameter8, intParameter7 - 5, intParameter8 - 5);
g.drawString(intParameter9 + " , " + intParameter10, intParameter9 + 5, intParameter10 - 5);
grootsteX = intParameter7;
kleinsteX = intParameter9;
if (intParameter9>grootsteX){
grootsteX = intParameter9;
kleinsteX = intParameter7;
}

grootsteY = intParameter8;
kleinsteY = intParameter10;
if (intParameter10>grootsteY){
grootsteY = intParameter10;
kleinsteY = intParameter8;
}
x = kleinsteX + (grootsteX - kleinsteX)/2;
y = kleinsteY + (grootsteY - kleinsteY)/2;

break;

case 1: g.fillRect(intParameter7, intParameter8, intParameter9, intParameter10);

g.setColor(Color.darkGray);
g.drawString(intParameter7 + " , " + intParameter8, intParameter7 - 5, intParameter8 - 5);
g.drawString(intParameter9.toString(), intParameter7 + intParameter9 /2, intParameter7 + intParameter10 + 25);
g.drawString(intParameter10.toString(), intParameter7 + intParameter9 + 5, intParameter8 + intParameter10 /2);
x = intParameter7 + (intParameter9 / 2);
y = intParameter8 + (intParameter10 / 2);
break;

case 2: g.fillOval(intParameter7, intParameter8, intParameter9, intParameter10);

g.setColor(Color.darkGray);
g.drawString(intParameter7 + " , " + intParameter8, intParameter7-25, intParameter8 - 25);
g.drawString(intParameter9.toString(), intParameter7 + intParameter9/2, intParameter8 + intParameter10 + 25);
g.drawString(intParameter10.toString(), intParameter7 + intParameter9 + 5, intParameter8 + intParameter10/2);

x = intParameter7 + (intParameter9 / 2);
y = intParameter8 + (intParameter10 / 2);
break;

case 3: driehoek2.addPoint(intParameter7, intParameter8);
driehoek2.addPoint(intParameter9, intParameter10);
driehoek2.addPoint(intParameter11, intParameter12);
g.fillPolygon(driehoek2);

grootsteX = intParameter7;
if (intParameter9>grootsteX)
grootsteX = intParameter9;
if (intParameter11>grootsteX)
grootsteX = intParameter11;

kleinsteX = intParameter7;
if (intParameter9<kleinsteX)
kleinsteX = intParameter9;
if (intParameter11<kleinsteX)
kleinsteX = intParameter11;

grootsteY = intParameter8;
if (intParameter10>grootsteY)
grootsteY = intParameter10;
if (intParameter12>grootsteY)
grootsteY = intParameter12;

kleinsteY = intParameter8;
if(intParameter10<kleinsteY)
kleinsteY = intParameter10;
if(intParameter12<kleinsteY)
kleinsteY = intParameter12;

x = kleinsteX + (grootsteX - kleinsteX)/2;
y = kleinsteY + (grootsteY - kleinsteY)/2;

g.setColor(Color.darkGray);
g.drawString(intParameter7 + " , " + intParameter8, intParameter7 - 25, intParameter8 - 25);
g.drawString(intParameter9 + " , " + intParameter10, intParameter9 - 25, intParameter10 - 25);
g.drawString(intParameter11 + " , " + intParameter12, intParameter11 - 10, intParameter12 - 25);

break;
case 4: g.fillRoundRect(intParameter7, intParameter8, intParameter9, intParameter10, intParameter11, intParameter12);

x = intParameter7 + (intParameter9 / 2);
y = intParameter8 + (intParameter10 / 2);

g.setColor(Color.darkGray);
g.drawString(intParameter7 + " , " + intParameter8, intParameter7 - 5, intParameter8 - 10);
g.drawString(intParameter9.toString(), intParameter7 + intParameter9 /2, intParameter8 + intParameter10 + 25);
g.drawString(intParameter10.toString(), intParameter7 + intParameter9 + 5, intParameter8 + intParameter10 /2);
g.drawString(intParameter11.toString(), intParameter7 + 30, intParameter8 + 15);
g.drawString(intParameter12.toString(), intParameter7 + 15, intParameter8 + 30);

break;
}
g.setColor(Color.darkGray);
lengte = (strTekst2.length() * 5)/2;
g.drawString(strTekst2, x - lengte, y);
}

if (draw3 == true){
switch (intKleur2){
case 0: g.setColor(Color.red);
break;
case 1: g.setColor(Color.green);
break;
case 2: g.setColor(Color.blue);
break;
case 3: g.setColor(Color.orange);
break;
case 4: g.setColor(Color.cyan);
break;
case 5: g.setColor(Color.yellow);
break;
case 6: g.setColor(Color.black);
break;
case 7: g.setColor(Color.white);
break;
case 8: g.setColor(Color.pink);
break;
case 9: g.setColor(Color.magenta);
break;
}
switch (intVorm2){
case 0: g.drawLine(intParameter13, intParameter14, intParameter15, intParameter16);
g.setColor(Color.darkGray);
g.drawString(intParameter13 + " , " + intParameter14, intParameter13 - 5, intParameter14 - 5);
g.drawString(intParameter15 + " , " + intParameter16, intParameter15 + 5, intParameter16 - 5);
grootsteX = intParameter13;
kleinsteX = intParameter15;
if (intParameter15>grootsteX){
grootsteX = intParameter15;
kleinsteX = intParameter13;
}
grootsteY = intParameter14;
kleinsteY = intParameter16;
if (intParameter16>grootsteY){
grootsteY = intParameter16;
kleinsteY = intParameter14;
}
x = kleinsteX + (grootsteX - kleinsteX)/2;
y = kleinsteY + (grootsteY - kleinsteY)/2;

break;

case 1: g.fillRect(intParameter13, intParameter14, intParameter15, intParameter16);

g.setColor(Color.darkGray);
g.drawString(intParameter13 + " , " + intParameter14, intParameter13 - 5, intParameter14 - 5);
g.drawString(intParameter15.toString(), intParameter13 + intParameter15 /2, intParameter13 + intParameter16 + 25);
g.drawString(intParameter16.toString(), intParameter13 + intParameter15 + 5, intParameter14 + intParameter16 /2);
x = intParameter7 + (intParameter15 / 2);
y = intParameter8 + (intParameter16 / 2);
break;

case 2: g.fillOval(intParameter13, intParameter14, intParameter15, intParameter16);

g.setColor(Color.darkGray);
g.drawString(intParameter13 + " , " + intParameter14, intParameter13-25, intParameter14 - 25);
g.drawString(intParameter15.toString(), intParameter13 + intParameter15/2, intParameter14 + intParameter16 + 25);
g.drawString(intParameter16.toString(), intParameter13 + intParameter15 + 5, intParameter14 + intParameter16/2);

x = intParameter13 + (intParameter15 / 2);
y = intParameter14 + (intParameter16 / 2);
break;

case 3: driehoek3.addPoint(intParameter13, intParameter14);
driehoek3.addPoint(intParameter15, intParameter16);
driehoek3.addPoint(intParameter17, intParameter18);
g.fillPolygon(driehoek3);

grootsteX = intParameter13;
if (intParameter15>grootsteX)
grootsteX = intParameter15;
if (intParameter17>grootsteX)
grootsteX = intParameter17;

kleinsteX = intParameter13;
if (intParameter15<kleinsteX)
kleinsteX = intParameter15;
if (intParameter17<kleinsteX)
kleinsteX = intParameter17;

grootsteY = intParameter14;
if (intParameter16>grootsteY)
grootsteY = intParameter16;
if (intParameter18>grootsteY)
grootsteY = intParameter18;

kleinsteY = intParameter14;
if(intParameter16<kleinsteY)
kleinsteY = intParameter16;
if(intParameter18<kleinsteY)
kleinsteY = intParameter18;

x = kleinsteX + (grootsteX - kleinsteX)/2;
y = kleinsteY + (grootsteY - kleinsteY)/2;

g.setColor(Color.darkGray);
g.drawString(intParameter13 + " , " + intParameter14, intParameter13 - 25, intParameter14 - 25);
g.drawString(intParameter15 + " , " + intParameter16, intParameter15 - 25, intParameter16 - 25);
g.drawString(intParameter17 + " , " + intParameter18, intParameter17 - 10, intParameter18 - 25);

break;
case 4: g.fillRoundRect(intParameter13, intParameter14, intParameter5, intParameter16, intParameter17, intParameter18);

x = intParameter13 + (intParameter15 / 2);
y = intParameter14 + (intParameter16 / 2);

g.setColor(Color.darkGray);
g.drawString(intParameter13 + " , " + intParameter14, intParameter13 - 5, intParameter14 - 10);
g.drawString(intParameter15.toString(), intParameter13 + intParameter15 /2, intParameter14 + intParameter16 + 25);
g.drawString(intParameter16.toString(), intParameter13 + intParameter15 + 5, intParameter14 + intParameter16 /2);
g.drawString(intParameter17.toString(), intParameter13 + 30, intParameter14 + 15);
g.drawString(intParameter18.toString(), intParameter13 + 15, intParameter14 + 30);

break;
}
g.setColor(Color.darkGray);
lengte = (strTekst3.length() * 5)/2;
g.drawString(strTekst3, x - lengte, y);
}

}

public boolean action (Event e, Object o){

if (e.target == teken){
draw = true;
repaint();
return true;
}
if (e.target == vorm){
repaint();
return true;
}
if(e.target == vergrendel1){
if (draw2 == false){
draw2 = true;
intParameter7 = Integer.parseInt(parameter1.getText());
intParameter8 = Integer.parseInt(parameter2.getText());
intParameter9 = Integer.parseInt(parameter3.getText());
intParameter10 = Integer.parseInt(parameter4.getText());
intParameter11 = Integer.parseInt(parameter5.getText());
intParameter12 = Integer.parseInt(parameter6.getText());
strTekst2 = tekst.getText();
intVorm = vorm.getSelectedIndex();
intKleur = kleur.getSelectedIndex();
vergrendel1.setLabel("Ontgrendel 1");
vergrendel1.setBackground(Color.red);
repaint();
} else {
draw2 = false;
vergrendel1.setLabel("Vergrendel 1");
vergrendel1.setBackground(Color.green);
}
return true;
}
if(e.target == vergrendel2){
if(draw3 == false){
draw3 = true;
intParameter13 = Integer.parseInt(parameter1.getText());
intParameter14 = Integer.parseInt(parameter2.getText());
intParameter15 = Integer.parseInt(parameter3.getText());
intParameter16 = Integer.parseInt(parameter4.getText());
intParameter17 = Integer.parseInt(parameter5.getText());
intParameter18 = Integer.parseInt(parameter6.getText());
strTekst3 = tekst.getText();
intVorm2 = vorm.getSelectedIndex();
intKleur2 = kleur.getSelectedIndex();
vergrendel2.setLabel("Ontgrendel 2");
vergrendel2.setBackground(Color.red);
repaint();
} else {
draw3 = false;
vergrendel2.setLabel("Vergrendel 2");
vergrendel2.setBackground(Color.green);
repaint();
}
return true;
}
return false;
}

}

最佳答案

  1. 使您的类扩展 JFrame 而不是 JApplet
  2. 有一个构造函数并从那里调用 init()

    public Kueze(){
    init();
    }
  3. 有一个 main 方法来实例化 Kueze int

    public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable(){
    @Override
    public void run() {
    new Keuze();
    }
    });
    }
  4. 在您的 init() 中,您还需要执行正常的 JFrame 例程

    public void init(){
    ....

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    pack();
    setLocationRelativeTo(null);
    setVisible(true);
    }

    参见 JFrame docs看看这些方法做了什么


边注

  • 您的程序中有很多 AWT。你真的应该看看Creating a GUI with Swing
  • 不要setSize(...)。我已经向您展示了如何pack()
  • 为什么在您的 paint 方法中有这么多的事情发生?在 paint 方法中,您唯一需要的是实际进行绘画的东西。
  • public void paint 方法下方调用 super.paint(g);

更新

你的代码太长了,我给你布局

import java.awt.Button;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Event;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.Polygon;
import java.awt.TextField;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Keuze extends JFrame {
....
public Keuze(){
init();
}

public void init(){
....
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
....
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
new Keuze();
}
});
}
}

关于java - 转换现有的 applet intro 可执行 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21351495/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com