2014-04-02 54 views
2

我是vaadin的新手。我有一個按鈕,它應該看起來像一個鏈接。我已創建的按鈕等,如何在vaadin中顯示按鈕作爲鏈接

Button title = new Button(item.getSubmissionTitle());       

title.setStyleName(BaseTheme.BUTTON_LINK);

我也使用

title.setStyleName(「鏈接)試圖;

但還是我取得按鈕的外觀和感覺有什麼辦法使用更改按鈕CSS或通過至極按鈕應該作爲一個鏈接出現任何替代方法。

編輯

我剛剛發現該按鈕正在從表中獲取CSS。並覆蓋按鈕樣式。 對於表,它已經寫入

table.setDebugId(「submissionsTable_id」);

CSS的表扣是:

#submissionsTable_id .v-table-cell-wrapper .v-button-caption{white-space:normal !important;text-decoration:none;} 

#submissionsTable_id .submission-content{width:350px;} 

#submissionsTable_id .v-table-cell-wrapper .v-button-caption:hover 
{ 
    background:#3F1A7D; 
    color: #FFFFFF; 
} 
#submissionsTable_id .v-button-caption:hover 
{ 
    background:#3F1A7D; 
    color: #FFFFFF; 
} 

現在,我怎麼能排除我的鏈接按鈕覆蓋表的風格或者我怎麼可以添加新的樣式按鈕,這不應該繼承的風格桌子。

+1

你有沒有試着用addStyleName(BaseTheme.BUTTON_LINK),而不是setStyleName(...)。 (在非觸摸中,它的工作原理是這樣的)您是否已經定製了主題或使用普通底座主題? –

+0

@AndréSchild感謝您的回覆。我已經更新了這個問題,你能分享一下你的想法嗎? :) – Pranoti

回答

2

根據this的帖子,顯然不能重置特定元素的樣式。您必須有選擇地覆蓋該元素的CSS屬性以模擬鏈接的方面。

如果它的任何幫助,以下是一些CSS我湊了模擬在一定程度上的鏈接的外觀和行爲:

a:link { 
color: #0000FF; 
background-color:#FFF; 
text-decoration:underline; 
}  

a:visited { 
color: #800080; 
background-color:#FFF; 
text-decoration:underline; 
} 

a:hover { 
color: #0000FF; 
background-color:#FFF; 
text-decoration:none; 
} 

a:active { 
color: #FF0000; 
background-color:#FFF; 
text-decoration:none; 
} 

注意,香草鏈接的默認外觀和行爲取決於其瀏覽器中的瀏覽器。

0

無需與Button發揮;這裏有一個Link組件。

@Override 
protected void init(VaadinRequest vaadinRequest) { 

    HorizontalLayout layout = new HorizontalLayout(); 

    Link link = new Link("Go to stackoverflow.com", 
      new ExternalResource("https://stackoverflow.com/")); 

    layout.setMargin(true); 

    layout.addComponents(link); 
    setContent(layout); 
} 

enter image description here