Results 1 to 6 of 6
  1. #1
    tonyelaltaico is offline Member
    Join Date
    Jan 2009
    Posts
    2
    Rep Power
    0

    Default JLabel + GUI problem

    Hello


    I have a JLabel2 which shows the spanish map. The thing is I do wanna draw lines on my spanish map and save it to as an image file in my desktop . I'm able to draw lines and save my JLabel2(spanish map) as an image in my Desktop. The problem is I'm not able to see any lines that I draw before in my image file. I can see those lines when I do click draw button but I can not see them when I save my file as an image to my desktop.Please help me.This problem killed me for two days..you can see how i converted to icon and how i save it as an image file below.Thank you for your helps from now.


    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

    File file3;

    int returnVal = fc.showSaveDialog(routemap.this);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
    try {
    File f3 = fc.getSelectedFile();
    ImageIcon icon = (ImageIcon) jLabel2.getIcon();
    System.out.println(icon.getIconHeight());
    BufferedImage buf = new BufferedImage(icon.getImage().getWidth(
    null), icon.getImage().getHeight(null),
    BufferedImage.TYPE_INT_RGB);
    buf.getGraphics().drawImage(icon.getImage(), 0, 0,
    icon.getIconWidth(), icon.getIconHeight(), null);
    ImageIO.write(buf, "jpg", new File(f3.getAbsolutePath()
    + ".jpg"));
    System.out.println(f3.getAbsolutePath());

    } catch (IOException e) {

    }

    }
    }



    I have drawn lines by using draw function as you see below and I can not see those lines without any problem..Lines disapper in the image file when I do save it..Here is the draw button..

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
    boolean go = true;
    if (OneClicked == false && go == true) {
    jLabel3.setText(jComboBox1.getSelectedItem() + " to ");
    view = jComboBox1.getSelectedItem().toString() + " to ";
    String m = jComboBox1.getSelectedItem().toString();
    int size1 = City.size();
    for (int i = 0; i < size1; i++) {
    if (City.get(i).equals(m)) {
    Index.add(i);

    }

    }
    OneClicked = true;
    go = false;

    }
    if (OneClicked == true && go == true) {
    jLabel3.setText(view + jComboBox1.getSelectedItem());
    view = "";
    String m = jComboBox1.getSelectedItem().toString();
    int size1 = City.size();
    for (int i = 0; i < size1; i++) {
    if (City.get(i).equals(m)) {
    Index.add(i);
    }
    }

    Graphics g = jLabel2.getGraphics();
    g.setColor(Color.BLUE.darker());
    Graphics2D g2 = (Graphics2D) g;
    g2.setStroke(new BasicStroke(3));

    System.out.println(Index.size());
    System.out.println(Index.size() - 2);
    int m1 = Integer.parseInt(XCoordinate.get(Index
    .get(Index.size() - 2)));
    int n1 = Integer.parseInt(YCoordinate.get(Index
    .get(Index.size() - 2)));
    int m2 = Integer.parseInt(XCoordinate.get(Index
    .get(Index.size() - 1)));
    int n2 = Integer.parseInt(YCoordinate.get(Index
    .get(Index.size() - 1)));
    System.out.println(m1 + " " + n1 + " " + m2 + " " + n2);
    g2.drawLine(m1, n1, m2, n2);
    OneClicked = false;

    }
    System.out.println("index im" + Index);
    }

  2. #2
    Fubarable's Avatar
    Fubarable is offline Moderator
    Join Date
    Jun 2008
    Posts
    19,316
    Blog Entries
    1
    Rep Power
    26

    Default

    Last edited by Fubarable; 01-31-2009 at 03:33 PM.

  3. #3
    DarrylBurke's Avatar
    DarrylBurke is offline Member
    Join Date
    Sep 2008
    Location
    Madgaon, Goa, India
    Posts
    11,197
    Rep Power
    19

    Default

    And tested the slangword filter to breaking point on the Sun forum.

    Definitely not a gentleman (nor lady)

    db

  4. #4
    OrangeDog's Avatar
    OrangeDog is offline Senior Member
    Join Date
    Jan 2009
    Location
    Cambridge, UK
    Posts
    838
    Rep Power
    6

    Default

    You're drawing on the JLabel, not the JLabel's icon. I suggest you get the BufferedImage behind the label first, and then draw onto that. Then you will both be able to display and save the BufferedImage.

  5. #5
    tonyelaltaico is offline Member
    Join Date
    Jan 2009
    Posts
    2
    Rep Power
    0

    Default

    It's still same OrangeDog :(.

  6. #6
    OrangeDog's Avatar
    OrangeDog is offline Senior Member
    Join Date
    Jan 2009
    Location
    Cambridge, UK
    Posts
    838
    Rep Power
    6

    Default

    What's your new code look like? It should be significantly different to the old code.

Similar Threads

  1. jLabel
    By Matty in forum AWT / Swing
    Replies: 3
    Last Post: 09-22-2008, 10:22 PM
  2. GUI - JLabel
    By Azndaddy in forum New To Java
    Replies: 8
    Last Post: 05-02-2008, 07:03 AM
  3. help me with JFrame and JLabel
    By michcio in forum New To Java
    Replies: 5
    Last Post: 11-20-2007, 07:44 AM
  4. JLabel
    By Jack in forum AWT / Swing
    Replies: 2
    Last Post: 07-02-2007, 01:55 PM
  5. JLabel
    By Freddie in forum AWT / Swing
    Replies: 2
    Last Post: 05-29-2007, 02:19 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •