JLabel 또는 GUI를 그릴 때 JFrame에 마지막으로 추가 한 것은 그려지고 나머지는 그려지거나 페인트되지 않습니다. 내 GUI와 함께 특정 장소에서 JLabel을 그리는 솔루션을 찾도록 도와 주시면 감사하겠습니다. 나는 레이아웃에 대해 듣고 그것을 어떻게 도울 수 있었는지, 그러나이 주제에 관해 다른 것을 말하는 많은 사람들이있었습니다. 여기 내 코드가있다.paintcomponent 메소드의 My JLabel과 GUI 코드가 동시에 그려지지 않습니다
import java.util.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.Timer;
import javax.swing.JPanel;
import javax.swing.JFrame;
import static java.lang.System.*;
import java.awt.event.*;
import java.awt.Graphics.*;
public class Main extends JPanel
{
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double w = screenSize.getWidth();
double h = screenSize.getHeight();
static JFrame f = new JFrame("Tic-Tac-Toe");
static JPanel p = new JPanel();
int width = (int)w;
int height = (int)h;
int width1a = width/2 - 300;
int width2a = width/2 - 100;
int width3a = width/2 + 100;
int width4a = width/2 + 300;
int height1from = (int)height - 100;
int height1to = (int)height - (int)(height/1.05);
public void paintComponent(Graphics g)
{
super.paintComponent(g);
JLabel l = new JLabel("Hello World !");
f.add(l);
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(10));
g.setColor(Color.black);
g2.drawLine(width1a, height1from, width1a, height1to);
g2.drawLine(width2a, height1from, width2a, height1to);
g2.drawLine(width3a, height1from, width3a, height1to);
g2.drawLine(width4a, height1from, width4a, height1to);
}
public static void main(String[] args)
{
Main m = new Main();
f.setSize(400,300);
f.setExtendedState(Frame.MAXIMIZED_BOTH);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
JLabel l = new JLabel("Hello World !");
f.add(p);
f.add(m);
}
}
불분명 한 부분이 있으면 알려주십시오. JLabel과 GUI 드로잉을 JFrame에 표시하기 만하면됩니다. 다시 할 일을 제안하고 시간 내 주셔서 감사합니다!
그냥 그릴과의 JLabel을 추가하는 데 필요한 시도 및 catch 문인가 체크 아웃? – Raheel138
나는 개인적으로 깊은 착석을하고, 기본 룩앤필을 증오한다. 나는 시스템의 모양과 느낌을 선호한다. 이것은 내 개인적인 취향이다. 만약 당신이 룩앤필을 설정하고 싶지 않다면, 너는 할 필요가 없다. – MadProgrammer
또한 TestPane의 레이아웃이 JLabel의 위치를 어떻게 지정할 수 있는가? BorderLayout이 맞습니까? 컨테이너를 사용 하시겠습니까? – Raheel138