Мой основной метод устанавливается следующим образом:линии к JPanel не работает
JPanel contentPane;
contentPane = (JPanel) rootPaneContainer.getContentPane();
contentPane.setSize(508, 650);
panel = new JPanel();
panel.setBounds(contentPane.getX(), contentPane.getY(), 508, 470);
panel.setBackground(new Color(177, 154, 212));
panel.add(new LinePaintDemo());
contentPane.add(panel);
contentPane.setVisible(true);
И мой LinePaintDemo класс настроен следующим образом:
public class LinePaintDemo extends JPanel{
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
try
{
scan = new Scanner(new File("area.map"));
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
StringTokenizer token;
double prevx = 0;
double prevy = 0;
double nextx = 0;
double nexty = 0;
while(scan.hasNextLine())
{
String line = scan.nextLine();
token = new StringTokenizer(line, ",");
if(token.nextToken().equals("4"))
{
prevx = Double.parseDouble(token.nextToken());
prevy = Double.parseDouble(token.nextToken());
}
else
{
nextx = Double.parseDouble(token.nextToken());
nexty = Double.parseDouble(token.nextToken());
}
g.drawLine((int)prevx, (int)prevy, (int)nextx, (int)nexty);
prevx = nextx;
prevy = nexty;
}
area.map содержит точки, в которых можно рисовать линии от. A 4 означает движение, 5 означает отбор. Что-то вроде так,
4,139.0,172.0
5,135.0,175.0
5,131.0,176.0
5,125.0,190.0
Однако, когда это красили, он просто показывает небольшую коробку в мой JPanel, например:
Любые предложения относительно того, почему это делается?
Чтобы лучше помочь, отправьте сообщение [MCVE] или [Short, Self Contained, Correct Example] (http://www.sscce.org/). –
'panel.setBounds (contentPane.getX(), contentPane.getY(), 508, 470);' не является хорошей идеей по ряду причин, для начала в 'ContentPane' есть менеджер компоновки, координата система также основана на родительском, что означает, что верхний левый угол равен '0x0', он уже смещен для вас – MadProgrammer
@MadProgrammer Итак, если я избавлюсь от setBounds, как панель будет представлена в contentPane? Удаление setBounds просто избавляется от цветного JPanel – SwaggyC