Fórum Selecionar imagem JLabel #475896
10/04/2014
0
Estou em busca de como fazer o tracejado que editores de imagens fazem na seleção para corte.
estou usando usando imagens carregadas e JLabel selecionando com as propriedades de MousePressed e MouseReleased.(códigos abaixo)
estou cortando a imagem selecionada através de um botão cortar (códigos abaixo).
embora os códigos estejam funcionando sem problemas, gostaria de marcar um tracejado na area a ser cortada,
alguém tem alguma ideia de como fazer?
*****************************Códigos mencionados**********************************
private void jLabel1MousePressed(java.awt.event.MouseEvent evt) {
this.x1 = evt.getX();
this.y1 = evt.getY();
}
private void jLabel1MouseReleased(java.awt.event.MouseEvent evt) {
this.x2 = evt.getX();
this.y2 = evt.getY();
}
private void mnucortarActionPerformed(java.awt.event.ActionEvent evt) {
if((x1<x2) && (y1<y2)) {
imagem1= imagem1.getSubimage(x1, y1, x2-x1, y2-y1);
}
if((x1>x2) && (y1<y2)) {
imagem1= imagem1.getSubimage(x2, y1, x1-x2, y2-y1);
}
if((x1<x2) && (y1>y2)) {
imagem1= imagem1.getSubimage(x1, y2, x2-x1, y1-y2);
}
if((x1>x2) && (y1>y2)) {
imagem1= imagem1.getSubimage(x2, y2, x1-x2, y1-x2);
}
ImageIcon icon = new ImageIcon(imagem1);
jLabel1.setIcon(icon);
setSize(imagem1.getWidth() +25,imagem1.getHeight()+70);
}
Lucas Firak
Curtir tópico
+ 0Posts
10/04/2014
Carlos Proença
cara seguinte da forma que voce esta seguindo... vai da um pouco de trabalho mas.... a solução pra essa parte grafica.. é vc usar Canvas... para desenhar a linha.... dai voce pode extender o JLabel e criar um seu com essa funcionalidade.....
ou cria um "componente Swing" pra isso e kkkk deposi disponibiliza pro pessoal o seu new componente
att.
Gostei + 0
10/04/2014
Lucas Firak
cara seguinte da forma que voce esta seguindo... vai da um pouco de trabalho mas.... a solução pra essa parte grafica.. é vc usar Canvas... para desenhar a linha.... dai voce pode extender o JLabel e criar um seu com essa funcionalidade.....
ou cria um "componente Swing" pra isso e kkkk deposi disponibiliza pro pessoal o seu new componente
att.
Valeu Carlos!!
deu quase certo...ainda falta umas adaptações que estou buscando como faço... meu problema agora é que os itens de menu estão ficando por baixo do quadrado criado...mas segue o código:
class Quadrado extends Canvas { // so para uzar o nome de Quadrado :p
public Quadrado () {
setBackground (Color.BLUE);
}
}
//declarei um Quadrado q; como global
private void jLabel1MousePressed(java.awt.event.MouseEvent evt) {
q.setVisible(false); // para fazer um unico quadrado sempre e nao lotar a tela de quadrados
this.x1 = evt.getX();
this.y1 = evt.getY();
}
private void jLabel1MouseReleased(java.awt.event.MouseEvent evt) {
this.x2 = evt.getX();
this.y2 = evt.getY();
q = new Quadrado();
q.setLocation(x1, y1);
if((x1<x2) && (y1<y2)) {
q.setSize(x2-x1, y2-y1);
}
if((x1>x2) && (y1<y2)) {
q.setSize(x1-x2, y2-y1);
}
if((x1<x2) && (y1>y2)) {
q.setSize(x2-x1, y1-y2);
}
if((x1>x2) && (y1>y2)) {
q.setSize(x1-x2, y1-y2);
}
jLabel1.add(q);
}
Gostei + 0
10/04/2014
Carlos Proença
mas boa sorte ai com sua app se precisar de help é só chamar blz??
e depois compartilha com o pessoal sei que suas duvidas e contribuições vao salvar muito a pele de alguem um dia srrsrs
att.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)