View Full Version : سوال: چه طور میشه یه لینک توی برنامه جاوا قرار داد
[younes]
دوشنبه 19 اسفند 1392, 22:41 عصر
سلام دوستان
من میخوام یه متن توی برنامه ام بزارم که مثل یه لینک عمل کنه و مثلا آدرس www.example.com رو باز کنه
کسی میتونه کمکم کنه؟
vahid-p
پنج شنبه 29 اسفند 1392, 12:59 عصر
فکر میکنم بعضی از کامپوننت های Swing تگ های اچ تی ام ال رو میپذیرند. مثلا شما میتونید از یک JLabel برای اینکار استفاده کنید. البته برای لینک چون نیاز به باز کردن مرورگر دارد، باید خودتون به طریق دیگه ای اینکار رو انجام بدید و این تگ اچ تی ام ال فقط ظاهرش رو درست میکنه. مثلا در کد زیر بر روی JLabel کلیک بشه، کار مورد نظرتون انجام میده ولی نه فقط بر روی لینک بلکه هر کجای JLabel تون کلیک کنید اینکار رو انجام میده. البته میشه کاری کرد که فقط به لینک حساس باشه که به کد نویسی بیشتری نیاز هست و کلاس هایی با عنوان OpenUrlAction تو اینترنت موجوده که میتونید استفاده کنید.
JLabel label=new JLabel("<html>for more information <a href=\"www.example.com\" >click here</a></html>");
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(Desktop.getDesktop().isSupported(Desktop.Action .BROWSE)){
try {
Desktop.getDesktop().browse(new URI("www.example.com"));
} catch (URISyntaxException ex) {
Logger.getLogger(Win.class.getName()).log(Level.SE VERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Win.class.getName()).log(Level.SE VERE, null, ex);
}
}
}
});
[younes]
شنبه 02 فروردین 1393, 19:53 عصر
مرسی از راهنمایی تون دوست عزیز
[younes]
چهارشنبه 06 فروردین 1393, 16:11 عصر
خوب اگه من بخوام چندتا url رو باز کنم در طول برنامه و همه ی این url ها توی فقط یه تب باز کنم باید چی کار کنم؟ یعنی میشه target برا باز کردن url مشخص کرد؟
vahid-p
پنج شنبه 07 فروردین 1393, 15:04 عصر
فکر نمیکنم چنین کاری امکان پذیر باشه. target در کانستراکتورهای URI دیده نمیشه. از طرفی تابع browse هم تک آرگومانست و فقط URI رو میگیره.
از نظر منطقی هم امکان پذیر نیست. چون جاوا یه آدرس رو به مرورگرتون میده تا باز بشه، لینک بعدی که کلیک بشه، اونوقت براش حالت _self وجود نداره که بگه تو همین صفحه باز شو. از کجا بدونه کدوم صفحه بوده؟ مگر اینکه برنامتون Applet باشه که اونوقت صفحه جاری براش معنی داره.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.