Prezados, boa noite.
A ideia é uma tela que carregue duas janelas menores, cada qual com uma imagem (o antes e o depois)
Cada janela tem um contentPane
dentro de um internalFrame
.
As janelas estão dentro de desktopPane
, que está dentro de um contentPane
que, por sua vez, está no JFrame
.
Ou seja:
Só para ter certeza…
1. Eu findei criando itens demais para desenhar as telas né?
2. Qual sugestão vocês dariam, para eu simplificar o código (ou seja, quais paineis deveria remover)?
3. Na parte do evento da mudança de propriedade (que está com os comandos comentados //), a ideia é redimensionar os painéis ao redimensionar a janela principal, mas o código não está funcionando (apesar do Eclipse não indicar erro). Vocês teriam alguma sugestão diferente?
Agradeço desde já a todos pela atenção e tempo em me responder. Obrigado.
Código
package tcc;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import javax.swing.JButton;
import java.awt.BorderLayout;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
import java.awt.Cursor;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class TelaLogo extends JFrame {
private static final long serialVersionUID = -1202968042705498217L;
private JPanel contentPane;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TelaLogo frame = new TelaLogo();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public TelaLogo() {
setAlwaysOnTop(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 1192, 550);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JDesktopPane desktopPane = new JDesktopPane();
desktopPane.setAutoscrolls(true);
desktopPane.setBounds(10, 11, 1156, 489);
contentPane.add(desktopPane);
addPropertyChangeListener("bounds", new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
// contentPane.setBounds(getBounds().x, getBounds().y, getBounds().width, getBounds().height);
// desktopPane.setBounds(getBounds().x, getBounds().y, getBounds().width, getBounds().height);
// contentPane.setSize(getSize());
// desktopPane.setSize(getSize());
}
});
JInternalFrame internalFrameImagemOriginal = new JInternalFrame("Imagem original");
internalFrameImagemOriginal.setAutoscrolls(true);
internalFrameImagemOriginal.setResizable(true);
internalFrameImagemOriginal.setBounds(122, 45, 400, 400);
desktopPane.add(internalFrameImagemOriginal);
JPanel panel = new JPanel();
internalFrameImagemOriginal.getContentPane().add(panel, BorderLayout.CENTER);
JLabel lblImagemOriginal = new JLabel("Original");
lblImagemOriginal.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
ImageIcon iconeTestes = new ImageIcon("D:\\Fernando\\Imagens\\25236558449_a3889618e7_o.jpg");
lblImagemOriginal.setIcon(iconeTestes);
}
});
lblImagemOriginal.addPropertyChangeListener("icon", new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
lblImagemOriginal.setSize(lblImagemOriginal.getIcon().getIconWidth(),
lblImagemOriginal.getIcon().getIconHeight());
}
});
lblImagemOriginal.setAutoscrolls(true);
lblImagemOriginal.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
lblImagemOriginal.setHorizontalTextPosition(SwingConstants.CENTER);
lblImagemOriginal.setHorizontalAlignment(SwingConstants.LEFT);
lblImagemOriginal.setVerticalTextPosition(SwingConstants.BOTTOM);
lblImagemOriginal.setVerticalAlignment(SwingConstants.TOP);
ImageIcon icone = new ImageIcon("D:\\Fernando\\Imagens\\3h0n588pyips5nhswfzofzntn.jpg");
lblImagemOriginal.setText("TESTE");
lblImagemOriginal.setSize(icone.getIconWidth(), icone.getIconHeight());
lblImagemOriginal.setIcon(icone);
panel.add(lblImagemOriginal);
JInternalFrame internalFrameImagemEditada = new JInternalFrame("Imagem editada");
internalFrameImagemEditada.setResizable(true);
internalFrameImagemEditada.setBounds(574, 78, 400, 400);
desktopPane.add(internalFrameImagemEditada);
JButton btnNewButton = new JButton("Aumentar brilho");
btnNewButton.setBounds(350, 11, 160, 23);
desktopPane.add(btnNewButton);
JButton btnReduzirBrilho = new JButton("Reduzir brilho");
btnReduzirBrilho.setBounds(520, 11, 160, 23);
desktopPane.add(btnReduzirBrilho);
JButton btnAumentarContraste = new JButton("Aumentar contraste");
btnAumentarContraste.setBounds(690, 11, 160, 23);
desktopPane.add(btnAumentarContraste);
JButton btnReduzirContraste = new JButton("Reduzir contraste");
btnReduzirContraste.setBounds(860, 11, 160, 23);
desktopPane.add(btnReduzirContraste);
JButton btnSalvarArquivo = new JButton("SALVAR ARQUIVO");
btnSalvarArquivo.setBounds(180, 11, 160, 23);
desktopPane.add(btnSalvarArquivo);
JButton btnAbrirArquivo = new JButton("ABRIR ARQUIVO");
btnAbrirArquivo.setBounds(10, 11, 160, 23);
desktopPane.add(btnAbrirArquivo);
internalFrameImagemEditada.setVisible(true);
internalFrameImagemOriginal.setVisible(true);
}
}
Novamente meu “muito obrigado!” a quem puder me ajudar.