Hallo,
Ik ben bezig een applicatie in swing te maken die uiteindelijk foto's moet kunnen resizen en ze op een locatie weg kunnen schrijven.
Omdat ik nog niet helemaal goed over die vaardigheden beheers ben ik toch begonnen aan de applicatie , alleen zijn mijn eisen minder streng.
De applicatie moet nu , nadat ik een foto heb opgezocht(gewoon via een FileDialog) in een textarea de hoogte en de breedte van de foto aangeven.
Dit lukt wel , als ik de locatie van de foto maar gewoon vanuit de brondcode defineer
dus zo:
Alleen als ik vanuit een FileDialog een foto selecteer wil hij dit nog niet weergeven , en ik loop ook een beetje vast waarom eigenlijk niet....
Mijn complete broncode is dit:
Hopelijk kunnen jullie mij weer een beetje opweg helpen...heb nog niet zo heel erg veel ervaring hier in
Ik ben bezig een applicatie in swing te maken die uiteindelijk foto's moet kunnen resizen en ze op een locatie weg kunnen schrijven.
Omdat ik nog niet helemaal goed over die vaardigheden beheers ben ik toch begonnen aan de applicatie , alleen zijn mijn eisen minder streng.
De applicatie moet nu , nadat ik een foto heb opgezocht(gewoon via een FileDialog) in een textarea de hoogte en de breedte van de foto aangeven.
Dit lukt wel , als ik de locatie van de foto maar gewoon vanuit de brondcode defineer
dus zo:
code:
1
| picture = getToolkit().getImage("C:\\down.jpg"); |
Alleen als ik vanuit een FileDialog een foto selecteer wil hij dit nog niet weergeven , en ik loop ook een beetje vast waarom eigenlijk niet....
Mijn complete broncode is dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
| import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class test extends JFrame
{
public static void main(String[] args)
{
new test();
}
private JTextField bestandveld,hoogteveld,breedteveld;
private JButton aktieknop,bladerknop;
private JLabel bestandlabel,hoogtelabel,breedtelabel;
private Image picture;
String pict;
public test()
{
setSize(800,100);
setTitle("Slice - Image Resizer");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
picture = getToolkit().getImage(""+pict);
MediaTracker mediaTracker = new MediaTracker(this);
mediaTracker.addImage(picture, 0); //voeg plaatje toe aan mediatracker
try
{ mediaTracker.waitForID(0); //wacht tot plaatje gereed is
}
catch (InterruptedException ie)
{ System.err.println(ie); //of volledige stacktrace, custom fout, etc
}
int width = picture.getWidth(this);
int height = picture.getHeight(this);
aktieknop = new JButton("Resize!");
aktieknop.addActionListener(new knopjehandler());
bladerknop = new JButton("Blader");
bladerknop.addActionListener(new knopjehandler());
JPanel paneeltje = new JPanel();
bestandveld = new JTextField(25);
hoogteveld = new JTextField(""+height,5);
breedteveld = new JTextField(""+width,5);
bestandlabel = new JLabel("File:");
hoogtelabel = new JLabel("Hoogte");
breedtelabel = new JLabel("breedte");
paneeltje.add(bestandlabel);
paneeltje.add(bestandveld);
paneeltje.add(bladerknop);
paneeltje.add(hoogtelabel);
paneeltje.add(hoogteveld);
paneeltje.add(breedtelabel);
paneeltje.add(breedteveld);
paneeltje.add(aktieknop);
getContentPane().add(paneeltje);
setVisible(true);
}
public class knopjehandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == bladerknop)
{
openbestand();
}
else if(e.getSource() == aktieknop)
{
String checkbestand = bestandveld.getText();
if(checkbestand.length() == 0)
{
JOptionPane.showMessageDialog(test.this,"Je moet eerst een Image selecteren alvorens je hem kan resizen","Selecteer plaatje",JOptionPane.ERROR_MESSAGE);
}
else
{
}
}
}
}
private void openbestand()
{
FileDialog browser = new FileDialog(test.this,"Open een image",FileDialog.LOAD);
browser.show();
String bestandnaam = browser.getFile();
String directory = browser.getDirectory();
bestandveld.setText(directory+bestandnaam);
pict = bestandveld.getText();
repaint();
}
} |
Hopelijk kunnen jullie mij weer een beetje opweg helpen...heb nog niet zo heel erg veel ervaring hier in
www.degroot-it.nl