Java Can';在我拖动打开的窗口之前,我看不到JFrame的内容
这实际上是我的第一个完整程序,最终将用于为我正在制作的机器人编写代码。一切都正常,只是当我运行它时,我必须拖动打开窗口才能看到其中的内容 关于如何修复它的任何建议。 框架2-“单击以生成文件”起作用。 框架-带有按钮网格的框架,是我必须拖动打开才能看到的框架 这是frame的设置文件(不起作用的文件)Java Can';在我拖动打开的窗口之前,我看不到JFrame的内容,java,swing,window,jframe,Java,Swing,Window,Jframe,这实际上是我的第一个完整程序,最终将用于为我正在制作的机器人编写代码。一切都正常,只是当我运行它时,我必须拖动打开窗口才能看到其中的内容 关于如何修复它的任何建议。 框架2-“单击以生成文件”起作用。 框架-带有按钮网格的框架,是我必须拖动打开才能看到的框架 这是frame的设置文件(不起作用的文件) 封装网格; //三月十三日至四月十一日 导入java.awt.GridLayout; 导入javax.swing.JButton; 导入javax.swing.JFrame; 导入java.awt
封装网格;
//三月十三日至四月十一日
导入java.awt.GridLayout;
导入javax.swing.JButton;
导入javax.swing.JFrame;
导入java.awt.*;
导入java.awt.event.*;
@抑制警告(“串行”)
公共类ButtonGrid扩展JFrame{
公共静态整数点击[][]=新建整数[20][40];
静态JButton按钮[]=新JButton[800];
静态int x;
静态整数计数=1;
公共静态int clickedfinal[];
int值;
公共ButtonGrid(){
JFrame=新JFrame();
框架。设置尺寸(400200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
GridLayout grid=新的GridLayout(20,40,10,8);
框架布局(网格);
对于(int c=0;c<20;c++){
对于(int d=0;d<40;d++){
点击[c][d]=0;
}
}
对于(x=0;x<800;x++){
按钮[x]=新的JButton();
按钮[x].setActionCommand(整数.toString(x));
frame.add(按钮[x]);
按钮[x]。背景(颜色。浅灰色);
按钮[x]。设置不透明(真);
thehandler=新的thehandler();
按钮[x].addActionListener(处理程序);
}
}
公共类处理程序实现ActionListener{
已执行的公共无效操作(操作事件e){
对于(;;){
value=Integer.parseInt(如getActionCommand());
按钮[值].setBackground(颜色.黑色);
int r=值%40;
int m=((值-(值%40))/40);
//学习如何取整
点击[m][r]=1;
打破
}
}
}
公共静态void main(字符串[]args){
新的ButtonGrid();
}
}
这是frame2的文件,它确实有效;要测试,只需运行这个
package Grid;
import javax.swing.JButton;
import javax.swing.JFrame;
import Grid.ButtonGrid;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
@SuppressWarnings("serial")
public class Arduinowriter extends JFrame {
static int t = 1;
static int buttonpressed;
static int total;
static String Code;
static String oldcode;
public Arduinowriter() {
JFrame frame2 = new JFrame("Build File");
JButton button = new JButton("Click to Build File");
frame2.setSize(400, 400);
frame2.add(button);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.setVisible(true);
button.setActionCommand(Integer.toString(1));
thehandler handler = new thehandler();
button.addActionListener(handler);
}
public class thehandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
buttonpressed = Integer.parseInt(e.getActionCommand());
String newLine = System.getProperty("line.separator");
String Motor2_half = "digitalWrite(Motor2, HIGH);" + newLine
+ "delay(500)" + newLine + "digitalWrite(Motor2, LOW)";
String Motor2_one = "digitalWrite(Motor2, HIGH);" + newLine
+ "delay(1000);" + newLine + "digitalWrite(Motor2, LOW);";
String Servo1_dispense = "digitalWrite(Servo1, HIGH);" + newLine
+ "delay(1000)" + newLine + "digitalWrite(Servo1, LOW);";
String Motor2_back = "digitalWrite(Motor2back, High" + newLine
+ "delay(6000)" + newLine + "digitalWrite(Motor2back, Low)";
String Motor1_forward = "digitalWrite(Motor1, HIGH);" + newLine
+ "delay(1000);" + newLine + "digitalWrite(Motor1, LOW);";
String dispenseCycle = (Motor2_one + newLine + Servo1_dispense
+ " //Domino" + newLine);
String skipCycle = (Motor2_one + newLine);
String backCycle = (Motor1_forward + newLine + Motor2_back + newLine);
while (buttonpressed == 1) {
for (int x = 0; x < 20; x++) {
Code = oldcode + "//Line " + (x + 1);
oldcode = Code;
yloop: for (int y = 0; y < 40; y++) {
boolean empty = true;
for (int check = y; check < 39; check++) {
if (ButtonGrid.clicked[x][check] == 1) {
empty = false;
System.out.println(x + " not empty");
}
}
if (ButtonGrid.clicked[x][y] == 1 && y == 0) {
Code = oldcode + newLine + Servo1_dispense
+ " //Domino" + newLine;
} else if (ButtonGrid.clicked[x][y] == 1) {
Code = oldcode + newLine + dispenseCycle + newLine;
}
else if (ButtonGrid.clicked[x][y] == 0
&& empty == false) {
Code = oldcode + newLine + skipCycle + newLine;
} else {
Code = oldcode + newLine + backCycle + newLine;
oldcode = Code;
break yloop;
}
oldcode = Code;
}
}
try {
BufferedWriter out = new BufferedWriter(new FileWriter(
"C:\\ArduinoCode.txt"));
out.write(Code);
out.close();
} catch (IOException g) {
System.out.println("Exception ");
}
return;
}
}
}
// button
public static void main(String[] args) {
new ButtonGrid();
new Arduinowriter();
}
}
封装网格;
导入javax.swing.JButton;
导入javax.swing.JFrame;
导入Grid.ButtonGrid;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.io.BufferedWriter;
导入java.io.FileWriter;
导入java.io.IOException;
@抑制警告(“串行”)
公共类编写器扩展JFrame{
静态int t=1;
按下静态int按钮;
静态整数合计;
静态字符串代码;
静态字符串代码;
公共作家(){
JFrame frame2=新的JFrame(“构建文件”);
JButton button=newjbutton(“单击以生成文件”);
框架2.设置大小(400400);
框架2.添加(按钮);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.setVisible(true);
setActionCommand(Integer.toString(1));
thehandler=新的thehandler();
addActionListener(处理程序);
}
公共类处理程序实现ActionListener{
已执行的公共无效操作(操作事件e){
buttonpressed=Integer.parseInt(例如getActionCommand());
字符串newLine=System.getProperty(“line.separator”);
字符串Motor2_half=“数字写入(Motor2,高);”+换行符
+“延迟(500)”+换行符+“数字写入(马达2,低)”;
字符串Motor2_one=“数字写入(Motor2,高);”+换行符
+“延迟(1000);”+换行符+“数字写入(马达2,低);”;
字符串Servo1_dispense=“数字写入(Servo1,高);”+换行符
+“延迟(1000)”+换行符+“数字写入(伺服1,低);”;
字符串Motor2_back=“数字写入(Motor2back,High”+换行符
+“延迟(6000)”+换行符+“数字写入(Motor2back,低)”;
字符串Motor1_forward=“数字写入(Motor1,高);”+换行符
+“延迟(1000);”+换行符+“数字写入(马达1,低);”;
字符串分配循环=(马达2\u一+换行+伺服1\u分配
+“//Domino”+换行符);
字符串skipCycle=(Motor2_one+换行符);
字符串反向循环=(Motor1\u前进+换行+Motor2\u后退+换行);
while(按下按钮==1){
对于(int x=0;x<20;x++){
Code=oldcode+“//行”+(x+1);
oldcode=代码;
yloop:for(int y=0;y<40;y++){
布尔空=真;
对于(int check=y;check<39;check++){
如果(ButtonGrid.clicked[x][check]==1){
空=假;
System.out.println(x+“非空”);
}
}
如果(ButtonGrid.clicked[x][y]==1&&y==0){
代码=旧代码+新行+伺服1\u分配
+“//Domino”+换行符;
}else if(ButtonGrid.clicked[x][y]==1){
代码=旧代码+换行符+循环符+换行符;
}
如果(ButtonGrid.clicked[x][y]==0,则为else
&&空==假){
代码=旧代码+换行符+skipCycle+换行符;
}否则{
代码=旧代码+换行符+反向循环+换行符;
oldcode=代码;
打破僵局;
}
奥德克
package Grid;
import javax.swing.JButton;
import javax.swing.JFrame;
import Grid.ButtonGrid;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
@SuppressWarnings("serial")
public class Arduinowriter extends JFrame {
static int t = 1;
static int buttonpressed;
static int total;
static String Code;
static String oldcode;
public Arduinowriter() {
JFrame frame2 = new JFrame("Build File");
JButton button = new JButton("Click to Build File");
frame2.setSize(400, 400);
frame2.add(button);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.setVisible(true);
button.setActionCommand(Integer.toString(1));
thehandler handler = new thehandler();
button.addActionListener(handler);
}
public class thehandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
buttonpressed = Integer.parseInt(e.getActionCommand());
String newLine = System.getProperty("line.separator");
String Motor2_half = "digitalWrite(Motor2, HIGH);" + newLine
+ "delay(500)" + newLine + "digitalWrite(Motor2, LOW)";
String Motor2_one = "digitalWrite(Motor2, HIGH);" + newLine
+ "delay(1000);" + newLine + "digitalWrite(Motor2, LOW);";
String Servo1_dispense = "digitalWrite(Servo1, HIGH);" + newLine
+ "delay(1000)" + newLine + "digitalWrite(Servo1, LOW);";
String Motor2_back = "digitalWrite(Motor2back, High" + newLine
+ "delay(6000)" + newLine + "digitalWrite(Motor2back, Low)";
String Motor1_forward = "digitalWrite(Motor1, HIGH);" + newLine
+ "delay(1000);" + newLine + "digitalWrite(Motor1, LOW);";
String dispenseCycle = (Motor2_one + newLine + Servo1_dispense
+ " //Domino" + newLine);
String skipCycle = (Motor2_one + newLine);
String backCycle = (Motor1_forward + newLine + Motor2_back + newLine);
while (buttonpressed == 1) {
for (int x = 0; x < 20; x++) {
Code = oldcode + "//Line " + (x + 1);
oldcode = Code;
yloop: for (int y = 0; y < 40; y++) {
boolean empty = true;
for (int check = y; check < 39; check++) {
if (ButtonGrid.clicked[x][check] == 1) {
empty = false;
System.out.println(x + " not empty");
}
}
if (ButtonGrid.clicked[x][y] == 1 && y == 0) {
Code = oldcode + newLine + Servo1_dispense
+ " //Domino" + newLine;
} else if (ButtonGrid.clicked[x][y] == 1) {
Code = oldcode + newLine + dispenseCycle + newLine;
}
else if (ButtonGrid.clicked[x][y] == 0
&& empty == false) {
Code = oldcode + newLine + skipCycle + newLine;
} else {
Code = oldcode + newLine + backCycle + newLine;
oldcode = Code;
break yloop;
}
oldcode = Code;
}
}
try {
BufferedWriter out = new BufferedWriter(new FileWriter(
"C:\\ArduinoCode.txt"));
out.write(Code);
out.close();
} catch (IOException g) {
System.out.println("Exception ");
}
return;
}
}
}
// button
public static void main(String[] args) {
new ButtonGrid();
new Arduinowriter();
}
}