Java JLabel ImageIcon的数组
我正在尝试创建一个数独游戏。我想使用JSwing API。因此,我使用一组jlabel来显示网格。我画了一张3x3网格的图片,我想在3x3网格中显示它。我的问题是它不会显示图像。有人能帮我解决这个问题吗 我当前的代码如下所示,分为两个类 Main.classJava JLabel ImageIcon的数组,java,arrays,jlabel,imageicon,Java,Arrays,Jlabel,Imageicon,我正在尝试创建一个数独游戏。我想使用JSwing API。因此,我使用一组jlabel来显示网格。我画了一张3x3网格的图片,我想在3x3网格中显示它。我的问题是它不会显示图像。有人能帮我解决这个问题吗 我当前的代码如下所示,分为两个类 Main.class package com.brendenbunker; import javax.swing.*; import java.awt.*; public class Main{ FileMaker fileMaker;
package com.brendenbunker;
import javax.swing.*;
import java.awt.*;
public class Main{
FileMaker fileMaker;
void init() {
fileMaker = new FileMaker();
}
public static void main(String args[]){
ScreenGenerator gui = new ScreenGenerator();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double width = gui.gridPic.getIconWidth();
double height = gui.gridPic.getIconHeight();
int h = (int) height*4;
int w = (int) width*3;
gui.setSize(w,h);
gui.setTitle("Suduko");
gui.setVisible(true);
}
}
package com.brendenbunker;
import javax.swing.*;
import java.awt.*;
public class ScreenGenerator extends JFrame{
//Intro Components
//JLabel temp;
JLabel[] gridLabel;
ImageIcon gridPic;
//intro Vars
public ScreenGenerator() {
setLayout(new FlowLayout());
gridPic = new ImageIcon(getClass().getResource("/Grid_Unified.png"));
gridLabel = new JLabel[8];
for (int i=0; i>=9; i++) {
gridLabel[i] = new JLabel("Hello");
}
for (int i=0; i>=9; i++) {
gridLabel[i].setIcon(gridPic);
add(gridLabel[i]);
}
}
}
屏幕生成器类
package com.brendenbunker;
import javax.swing.*;
import java.awt.*;
public class Main{
FileMaker fileMaker;
void init() {
fileMaker = new FileMaker();
}
public static void main(String args[]){
ScreenGenerator gui = new ScreenGenerator();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double width = gui.gridPic.getIconWidth();
double height = gui.gridPic.getIconHeight();
int h = (int) height*4;
int w = (int) width*3;
gui.setSize(w,h);
gui.setTitle("Suduko");
gui.setVisible(true);
}
}
package com.brendenbunker;
import javax.swing.*;
import java.awt.*;
public class ScreenGenerator extends JFrame{
//Intro Components
//JLabel temp;
JLabel[] gridLabel;
ImageIcon gridPic;
//intro Vars
public ScreenGenerator() {
setLayout(new FlowLayout());
gridPic = new ImageIcon(getClass().getResource("/Grid_Unified.png"));
gridLabel = new JLabel[8];
for (int i=0; i>=9; i++) {
gridLabel[i] = new JLabel("Hello");
}
for (int i=0; i>=9; i++) {
gridLabel[i].setIcon(gridPic);
add(gridLabel[i]);
}
}
}
所有帮助满足将您更改为循环,它不会根据您的条件进入循环 将循环更改为此
for (int i=0; i<8; i++) {
gridLabel[i] = new JLabel("Hello");
}
for (int i=0; i<8; i++) {
gridLabel[i].setIcon(gridPic);
add(gridLabel[i]);
}
for(int i=0;i
如果您需要图标,则使用上述代码如果您需要文本和图标,则以下更改将帮助您
gridLabel[i] = new JLabel("hello", gridPic, JLabel.CENTER);
希望帮助您了解以下内容:
我曾经用Java编程。我已经转向Python,但我记得这方面有很多困难!使用IO文件系统来显示它。您将在这里找到示例
如果我错了,请纠正我,这是Java?检查您的for循环…它永远不会进入循环..因此无需检查任何其他示例..这绝对有效..只需更改(..;的条件即可。
循环。。。