我现在只是学习java而且我想弄清楚出了什么问题,但每次运行代码我都会得到不同的结果.这是一个程序,我或多或少地想弄清楚如何使用java,但有些对象并没有按照应有的方式出现.
package main;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.*;
//import java.awt.event.*;
public class Main extends JFrame {
JButton button = new JButton();
JTextField textField = new JTextField();
JTextArea textArea = new JTextArea();
int buttonClicked;
public Main() {
Toolkit tk = Toolkit.getDefaultToolkit(); // creates toolkit
Dimension screenSize = tk.getScreenSize(); // sets screen dimensions
Dimension frameDim = new Dimension(400, 400); // sets frame dimensions
int xPos = (screenSize.width / 2) - (frameDim.width / 2); // sets xPos
int yPos = (screenSize.height / …Run Code Online (Sandbox Code Playgroud) 我一直试图调试这几个小时.该程序应该是一个图形坐标的图形,但我不能得到任何东西甚至不是随机线,但如果我把一个打印声明放在那里它的工作原理.这是paintComponent方法的一个问题.当我在g.drawLine之前打印语句然后打印,但即使我放置一个带坐标(1,3),(2,4)的随机行,它也不会绘制任何行.
import java.awt.*;
import java.util.*;
import javax.swing.*;
public abstract class XYGrapher
{
abstract public Coordinate xyStart();
abstract public double xRange();
abstract public double yRange();
abstract public Coordinate getPoint(int pointNum);
public class Paint extends JPanel
{
public void paintGraph(Graphics g, int xPixel1, int yPixel1, int xPixel2, int yPixel2)
{
super.paintComponent(g);
g.setColor(Color.black);
g.drawLine(xPixel1, yPixel1, xPixel2, yPixel2);
}
public void paintXAxis(Graphics g, int xPixel, int pixelsWide, int pixelsHigh)
{
super.paintComponent(g);
g.setColor(Color.green);
g.drawLine(xPixel, 0, xPixel, pixelsHigh);
}
public void paintYAxis(Graphics g, int yPixel, int …Run Code Online (Sandbox Code Playgroud) 我已经用谷歌搜索并阅读了很多内容,但没有找到适合我需要的答案,所以我会在这里问:
我想在我的 JFrame 中有一个渐变背景。目前背景是单色的。我的代码看起来像这样:
//imports
public class Game {
//some other irrelevant instance variables
JFrame frame = new JFrame("Game");
public Game() {
frame.getContentPane().setBackground(new Color(200,220,200));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
frame.setPreferredSize(new Dimension(frameX,frameY)); //frameX and frameY are instance variables
getMenu(); //method that adds a few JLabels to the JFrame and so on
}
}
Run Code Online (Sandbox Code Playgroud)
我读过的方法适用于扩展 JPanel 或 JFrame 的类(然后使用 GradientPaint 或类似的东西),但正如您所看到的,我使用 JFrame 作为实例变量。有人可以帮我吗?
编辑: 图片:

我不确定如何修复程序中的错误以及如何突出显示用户正在悬停的选项.我希望它突出显示每个位置的代码,即位置1将突出显示(作为不同的颜色)以开始游戏等.上/下会改变位置,我会用上,下,左,右改变位置.这就是我到目前为止所拥有的.目前它的漏洞和编译时我的窗口出现了:

哪个适用于主游戏并且改变了这个标题牌,我做错了什么以及如何修复它?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.ArrayList;
//sound + file opening
import java.io.*;
import javax.sound.sampled.*;
public class TitleBoard extends JPanel implements ActionListener{
private ArrayList<String> OptionList;
private Image background;
private ImageIcon bgImageIcon;
private String cheatString;
private int position;
private Timer timer;
public TitleBoard(){
setFocusable(true);
addKeyListener(new TAdapter());
bgImageIcon = new ImageIcon("");
background = bgImageIcon.getImage();
String[] options = {"Start Game","Options","Quit"};
OptionList = new ArrayList<String>();
optionSetup(options);
position = 1;
timer = new Timer(8, this);
timer.start();
/*
1 mod …Run Code Online (Sandbox Code Playgroud) 我将这些按钮放在框架的中心并且彼此上方,就像这样.
BUTTON
BUTTON
BUTTON
Run Code Online (Sandbox Code Playgroud)
我在这个论坛上搜索了多个主题,但到目前为止我尝试过的所有内容都没有用.我希望有人有解决方案.
这是我目前的代码:
package ípsen1;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;
public class Paneel extends JPanel implements ActionListener {
Image achtergrond;
private JButton spelHervatten;
private JButton spelOpslaan;
private JButton spelAfsluiten;
public Paneel(){
//buttons
spelHervatten = new JButton("Spel hervatten");
spelHervatten.setPreferredSize(new Dimension(380, 65));
spelOpslaan = new JButton("Spel opslaan");
spelOpslaan.setPreferredSize(new Dimension(380, 65));
spelAfsluiten = new JButton("Spel afsluiten");
spelAfsluiten.setPreferredSize(new Dimension(380, 65));
//object Paneel luistert naar button events
spelAfsluiten.addActionListener(this);
add (spelHervatten);
add …Run Code Online (Sandbox Code Playgroud) 我在netbeans中创建了一个项目。我有一个内部框架,希望将其显示为对话框。请帮我。注意:我使用过Windows的外观。
我在做,其中有连接在一起3张,说一个小的Java项目f1,f2,f3和f4.f1有一个按钮,然后点击它调用f2,f2并有按钮调用f3.问题是如果我逐个打开所有表单然后关闭表单f2或f3然后主窗体(f1)关闭.
我想要即使我关闭形式f2,f3我的主要形式也不应该关闭,直到我亲自关闭它.
package mnm;
public class NewJFrame extends javax.swing.JFrame {
public NewJFrame() {
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
NewJFrame1 nb=new NewJFrame1();
nb.setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
NewJFrame gn=new NewJFrame();
gn.setDefaultCloseOperation(NewJFrame.DISPOSE_ON_CLOSE);
}
});
}
private javax.swing.JButton jButton1;
}
Run Code Online (Sandbox Code Playgroud) public ButtonGrid(int width, int length){ //constructor
frame.setTitle("MPC");
frame.setLayout(new GridLayout(width,length)); //set layout
grid=new JButton[width-1][length]; //allocate the size of grid
for(int y=0; y<length; y++){
for(int x=0; x<width-1; x++){
grid[x][y]=new JButton("("+x+","+y+")"); //creates new button
frame.add(grid[x][y]); //adds button to grid
grid[x][y].addActionListener(this);
grid[x][y].addKeyListener(this);
//grid[x][y].setMnemonic(KeyEvent.VK_0);
grid[x][y].setPreferredSize(new Dimension(75,75));
}
}
for(int i =0; i<boxList.length; i++)
box.addItem(boxList[i]);
box.addActionListener(this);
frame.add(box);
frame.add(met_speed);
frame.add(Play);
Play.addActionListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack(); //sets appropriate size for frame
frame.setVisible(true); //makes frame visible
}
public void newWindow(){
JFrame frame1 = new JFrame();
frame1.setLayout(new GridBagLayout());
GridBagConstraints gbc = new …Run Code Online (Sandbox Code Playgroud) java ×8
swing ×8
jframe ×3
awt ×1
background ×1
button ×1
center ×1
dialog ×1
frame ×1
gradient ×1
jpanel ×1
jtextarea ×1
jtextfield ×1
netbeans ×1
popupwindow ×1