Opaque nie działa?

0

Witam!

Jestem w trakcie kończenia mojej gry i napotkałem jeden kosmetyczny problem.
Mianowicie w designerze eclipse "nie działa" mi opaque..
A właściwie tam działa, ale gdy kompiluje cały projekt jednak cos jest nie tak.
Oto zdjęcie z Designer Wrappera(czyli szybka testowa kompilacja w designerze)
1.jpg

A to zdjecie po skompilowaniu całego projektu:
2.jpg

Oto kod tego Panelu:

package game;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JLabel;

import java.awt.Rectangle;

import javax.swing.JTextPane;

import java.awt.Font;
import java.awt.Color;

public class SinglePanel extends JPanel
{
	
	private static final long serialVersionUID = 1L;
	public static String p1;
	public static String p2;
	JTextPane pl1 = new JTextPane();
	JTextPane pl2 = new JTextPane();
	
	public SinglePanel(Frame parent)
	{
		setBounds(new Rectangle(0, 0, 800, 600));
		final Frame frame = parent;
		setLayout(null);
		
		pl1.setOpaque(false);		
		pl1.setText("type here");
		pl1.setFont(new Font("Copperplate Gothic Bold", Font.PLAIN, 34));
		pl1.setForeground(new Color(255, 165, 0));
		pl1.setBounds(394, 180, 326, 45);
		
		pl2.setOpaque(false);		
		pl2.setBounds(394, 326, 326, 45);
		pl2.setText("type here");		
		pl2.setForeground(new Color(255, 165, 0));
		pl2.setFont(new Font("Copperplate Gothic Bold", Font.PLAIN, 34));
		
		
		add(pl2);
		add(pl1);
		
		JLabel lblSingle = new JLabel("single");
		lblSingle.setOpaque(true);
		lblSingle.setBackground(new Color(51, 102, 0));
		lblSingle.setBounds(0, 0, 800, 600);
		lblSingle.setIcon(new ImageIcon(SinglePanel.class.getResource("/singlePanel.jpg")));
		
		JButton btnBack = new JButton("Back");
		btnBack.setBounds(50,470,122,58);
		btnBack.setIcon(new ImageIcon(SinglePanel.class.getResource("/buttons/Back.jpg")));
		btnBack.addActionListener(new ActionListener()
		{
			
			@Override
			public void actionPerformed(ActionEvent arg0)
			{
				frame.remove(frame.singlePanel);
				frame.getContentPane().add(frame.menuPanel);
				frame.validate();
				frame.repaint();
			}
		});
		add(btnBack);
		
		
		
		JButton btnPlay = new JButton("Play");
		btnPlay.setBounds(620, 470, 122, 58);
		btnPlay.setIcon(new ImageIcon(SinglePanel.class.getResource("/buttons/singlePlay.jpg")));
		btnPlay.addActionListener(new ActionListener()
		{
			
			@Override
			public void actionPerformed(ActionEvent arg0)
			{
				p1 = pl1.getText();
				p2 = pl2.getText();
				SettingPanelOne.turn.setText(p1+" is setting the Ships");
				SettingPanelTwo.turn.setText(p2+" is setting the Ships");
				YourPanel.first.setText(p1+"'s turn!");
				OpponentPanel.second.setText(p2+"'s turn!");
				frame.remove(frame.singlePanel);
				frame.getContentPane().add(frame.settingPanelOne);
				frame.validate();
				frame.repaint();
			}
		});
		add(btnPlay);
		
		
		add(lblSingle);
		
	}
}

Wszelkie uwagi bardzo mile widziane :)
Pozdrawiam i dziękuje z góry za pomoc :)

0

Kod jest trochę podejrzany - dlaczego mieszasz biblioteki? Komponenty są ze Swinga, a okno jest klasy Frame? U mnie działa dobrze, umieściłem ten panel w oknie klasy JFrame metodą add(new SinglePanel(this)) i użyłem innego obrazka.

0

Cos jest złego w mieszaniu komponentów awt i swing?
Cała gra mi działa dobrze, po prostu bardziej odpowiadaja mi jedne komponentsy z awt a inne ze swinga :)
Jezlei mozesz podeslij mi kod tego co zrobiles przeanalizuje sobie go :)
dzieki za odp ;d

0

Nie bardzo jest co analizować.

import javax.swing.*;

public class Gra extends JFrame
{
    public static void main(String[] args)
    {
        new Gra();
    }
    public Gra()
    {
        add(new SinglePanel(this));
        pack();
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
}
...
    public SinglePanel(JFrame parent)
    {
        //setBounds(new Rectangle(0, 0, 800, 600));
        setPreferredSize(new Dimension(800,600));
        final JFrame frame = parent;

Reszta bez zmian (tylko inne obrazki).

1 użytkowników online, w tym zalogowanych: 0, gości: 1